diff --git a/.gitignore b/.gitignore index a705a35f8b..92f64ba492 100644 --- a/.gitignore +++ b/.gitignore @@ -33,4 +33,6 @@ release /test-results/ /playwright-report/ /playwright/.cache/ -.nx/ \ No newline at end of file +.env +*.pem +.nx/ diff --git a/.todo.txt b/.todo.txt new file mode 100644 index 0000000000..446b47ddc1 --- /dev/null +++ b/.todo.txt @@ -0,0 +1,7 @@ + +review toolbar code +fix design of menus (smaller items, border?) + +see if addToHistory: false is needed +track last affected position to update toolbar +enable / disable show selection plugin \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 8786fe0f0e..7469bd1c70 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -13,5 +13,10 @@ "typescript.tsdk": "node_modules/typescript/lib", "[xml]": { "editor.defaultFormatter": "redhat.vscode-xml" + }, + "scm.defaultViewMode": "tree", + "search.defaultViewMode": "tree", + "[typescript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" } } diff --git a/docs/pages/examples/_meta.json b/docs/pages/examples/_meta.json index aa81bb87ad..ea06b69523 100644 --- a/docs/pages/examples/_meta.json +++ b/docs/pages/examples/_meta.json @@ -7,5 +7,6 @@ "interoperability": "Interoperability", "custom-schema": "Custom Schemas", "collaboration": "Collaboration", - "extensions": "Extensions" + "extensions": "Extensions", + "ai": "AI" } diff --git a/examples/01-basic/01-minimal/package.json b/examples/01-basic/01-minimal/package.json index 08442399b8..5179e10576 100644 --- a/examples/01-basic/01-minimal/package.json +++ b/examples/01-basic/01-minimal/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-minimal", + "name": "@blocknote/example-basic-minimal", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/01-basic/02-block-objects/package.json b/examples/01-basic/02-block-objects/package.json index 50c78fd245..c65e6e4fab 100644 --- a/examples/01-basic/02-block-objects/package.json +++ b/examples/01-basic/02-block-objects/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-block-objects", + "name": "@blocknote/example-basic-block-objects", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/01-basic/03-multi-column/package.json b/examples/01-basic/03-multi-column/package.json index bcdfe6241e..3a6f333943 100644 --- a/examples/01-basic/03-multi-column/package.json +++ b/examples/01-basic/03-multi-column/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-multi-column", + "name": "@blocknote/example-basic-multi-column", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/01-basic/04-default-blocks/package.json b/examples/01-basic/04-default-blocks/package.json index 21a66addf9..06450ec709 100644 --- a/examples/01-basic/04-default-blocks/package.json +++ b/examples/01-basic/04-default-blocks/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-default-blocks", + "name": "@blocknote/example-basic-default-blocks", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/01-basic/05-removing-default-blocks/package.json b/examples/01-basic/05-removing-default-blocks/package.json index 73d542fc4d..155c5cab12 100644 --- a/examples/01-basic/05-removing-default-blocks/package.json +++ b/examples/01-basic/05-removing-default-blocks/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-removing-default-blocks", + "name": "@blocknote/example-basic-removing-default-blocks", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/01-basic/06-block-manipulation/package.json b/examples/01-basic/06-block-manipulation/package.json index c241565381..4a6310c3d9 100644 --- a/examples/01-basic/06-block-manipulation/package.json +++ b/examples/01-basic/06-block-manipulation/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-block-manipulation", + "name": "@blocknote/example-basic-block-manipulation", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/01-basic/07-selection-blocks/package.json b/examples/01-basic/07-selection-blocks/package.json index cf00a8d5d3..51a4cb7acc 100644 --- a/examples/01-basic/07-selection-blocks/package.json +++ b/examples/01-basic/07-selection-blocks/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-selection-blocks", + "name": "@blocknote/example-basic-selection-blocks", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/01-basic/08-ariakit/package.json b/examples/01-basic/08-ariakit/package.json index 8cb5fb252b..5b12b5ad5e 100644 --- a/examples/01-basic/08-ariakit/package.json +++ b/examples/01-basic/08-ariakit/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-ariakit", + "name": "@blocknote/example-basic-ariakit", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/01-basic/09-shadcn/package.json b/examples/01-basic/09-shadcn/package.json index 9099070e45..076de14c6a 100644 --- a/examples/01-basic/09-shadcn/package.json +++ b/examples/01-basic/09-shadcn/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-shadcn", + "name": "@blocknote/example-basic-shadcn", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/01-basic/10-localization/package.json b/examples/01-basic/10-localization/package.json index 6e9791f93a..e6eba8cdf1 100644 --- a/examples/01-basic/10-localization/package.json +++ b/examples/01-basic/10-localization/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-localization", + "name": "@blocknote/example-basic-localization", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/01-basic/11-custom-placeholder/package.json b/examples/01-basic/11-custom-placeholder/package.json index 5a0f1c4a97..d23a455b6b 100644 --- a/examples/01-basic/11-custom-placeholder/package.json +++ b/examples/01-basic/11-custom-placeholder/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-custom-placeholder", + "name": "@blocknote/example-basic-custom-placeholder", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/01-basic/12-multi-editor/package.json b/examples/01-basic/12-multi-editor/package.json index 0ff9e1bfd4..78e798f03e 100644 --- a/examples/01-basic/12-multi-editor/package.json +++ b/examples/01-basic/12-multi-editor/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-multi-editor", + "name": "@blocknote/example-basic-multi-editor", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/01-basic/13-custom-paste-handler/package.json b/examples/01-basic/13-custom-paste-handler/package.json index 29c51b05ba..676827b542 100644 --- a/examples/01-basic/13-custom-paste-handler/package.json +++ b/examples/01-basic/13-custom-paste-handler/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-custom-paste-handler", + "name": "@blocknote/example-basic-custom-paste-handler", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/01-basic/testing/package.json b/examples/01-basic/testing/package.json index e1d8d76c5e..34af6c470e 100644 --- a/examples/01-basic/testing/package.json +++ b/examples/01-basic/testing/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-testing", + "name": "@blocknote/example-basic-testing", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/02-backend/01-file-uploading/package.json b/examples/02-backend/01-file-uploading/package.json index b03a49a541..115c1caaef 100644 --- a/examples/02-backend/01-file-uploading/package.json +++ b/examples/02-backend/01-file-uploading/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-file-uploading", + "name": "@blocknote/example-backend-file-uploading", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/02-backend/02-saving-loading/package.json b/examples/02-backend/02-saving-loading/package.json index 8bcc9a4272..61e62e68d8 100644 --- a/examples/02-backend/02-saving-loading/package.json +++ b/examples/02-backend/02-saving-loading/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-saving-loading", + "name": "@blocknote/example-backend-saving-loading", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/02-backend/03-s3/package.json b/examples/02-backend/03-s3/package.json index 1dd9e12f87..6f2ceee11a 100644 --- a/examples/02-backend/03-s3/package.json +++ b/examples/02-backend/03-s3/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-s3", + "name": "@blocknote/example-backend-s3", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/02-backend/04-rendering-static-documents/package.json b/examples/02-backend/04-rendering-static-documents/package.json index c3c00afbf2..6d9bf7d440 100644 --- a/examples/02-backend/04-rendering-static-documents/package.json +++ b/examples/02-backend/04-rendering-static-documents/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-rendering-static-documents", + "name": "@blocknote/example-backend-rendering-static-documents", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/01-ui-elements-remove/package.json b/examples/03-ui-components/01-ui-elements-remove/package.json index d773d4c681..6217ceb432 100644 --- a/examples/03-ui-components/01-ui-elements-remove/package.json +++ b/examples/03-ui-components/01-ui-elements-remove/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-ui-elements-remove", + "name": "@blocknote/example-ui-components-ui-elements-remove", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/02-formatting-toolbar-buttons/BlueButton.tsx b/examples/03-ui-components/02-formatting-toolbar-buttons/BlueButton.tsx index 48400a273e..359b9b95cd 100644 --- a/examples/03-ui-components/02-formatting-toolbar-buttons/BlueButton.tsx +++ b/examples/03-ui-components/02-formatting-toolbar-buttons/BlueButton.tsx @@ -1,9 +1,9 @@ +import "@blocknote/mantine/style.css"; import { useBlockNoteEditor, useComponentsContext, useEditorContentOrSelectionChange, } from "@blocknote/react"; -import "@blocknote/mantine/style.css"; import { useState } from "react"; // Custom Formatting Toolbar Button to toggle blue text & background color. diff --git a/examples/03-ui-components/02-formatting-toolbar-buttons/package.json b/examples/03-ui-components/02-formatting-toolbar-buttons/package.json index 42b4c9d0f2..67a1d7bc80 100644 --- a/examples/03-ui-components/02-formatting-toolbar-buttons/package.json +++ b/examples/03-ui-components/02-formatting-toolbar-buttons/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-formatting-toolbar-buttons", + "name": "@blocknote/example-ui-components-formatting-toolbar-buttons", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/03-formatting-toolbar-block-type-items/package.json b/examples/03-ui-components/03-formatting-toolbar-block-type-items/package.json index 74eb9abb28..7a01c4bf85 100644 --- a/examples/03-ui-components/03-formatting-toolbar-block-type-items/package.json +++ b/examples/03-ui-components/03-formatting-toolbar-block-type-items/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-formatting-toolbar-block-type-items", + "name": "@blocknote/example-ui-components-formatting-toolbar-block-type-items", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/04-side-menu-buttons/package.json b/examples/03-ui-components/04-side-menu-buttons/package.json index c5dfa45e36..0503387354 100644 --- a/examples/03-ui-components/04-side-menu-buttons/package.json +++ b/examples/03-ui-components/04-side-menu-buttons/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-side-menu-buttons", + "name": "@blocknote/example-ui-components-side-menu-buttons", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/05-side-menu-drag-handle-items/package.json b/examples/03-ui-components/05-side-menu-drag-handle-items/package.json index de9f04ad5d..1665ffdc67 100644 --- a/examples/03-ui-components/05-side-menu-drag-handle-items/package.json +++ b/examples/03-ui-components/05-side-menu-drag-handle-items/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-side-menu-drag-handle-items", + "name": "@blocknote/example-ui-components-side-menu-drag-handle-items", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/06-suggestion-menus-slash-menu-items/App.tsx b/examples/03-ui-components/06-suggestion-menus-slash-menu-items/App.tsx index 844e9a47d5..b69e61ca1c 100644 --- a/examples/03-ui-components/06-suggestion-menus-slash-menu-items/App.tsx +++ b/examples/03-ui-components/06-suggestion-menus-slash-menu-items/App.tsx @@ -5,18 +5,19 @@ import { PartialBlock, } from "@blocknote/core"; import "@blocknote/core/fonts/inter.css"; +import { BlockNoteView } from "@blocknote/mantine"; +import "@blocknote/mantine/style.css"; import { DefaultReactSuggestionItem, getDefaultReactSlashMenuItems, SuggestionMenuController, useCreateBlockNote, } from "@blocknote/react"; -import { BlockNoteView } from "@blocknote/mantine"; -import "@blocknote/mantine/style.css"; import { HiOutlineGlobeAlt } from "react-icons/hi"; // Custom Slash Menu item to insert a block after the current one. const insertHelloWorldItem = (editor: BlockNoteEditor) => ({ + key: "hello_world", title: "Insert Hello World", onItemClick: () => // If the block containing the text caret is empty, `insertOrUpdateBlock` diff --git a/examples/03-ui-components/06-suggestion-menus-slash-menu-items/package.json b/examples/03-ui-components/06-suggestion-menus-slash-menu-items/package.json index b64b0ef662..fe37b52315 100644 --- a/examples/03-ui-components/06-suggestion-menus-slash-menu-items/package.json +++ b/examples/03-ui-components/06-suggestion-menus-slash-menu-items/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-suggestion-menus-slash-menu-items", + "name": "@blocknote/example-ui-components-suggestion-menus-slash-menu-items", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/07-suggestion-menus-slash-menu-component/package.json b/examples/03-ui-components/07-suggestion-menus-slash-menu-component/package.json index 0dd900a083..ecdf705fe7 100644 --- a/examples/03-ui-components/07-suggestion-menus-slash-menu-component/package.json +++ b/examples/03-ui-components/07-suggestion-menus-slash-menu-component/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-suggestion-menus-slash-menu-component", + "name": "@blocknote/example-ui-components-suggestion-menus-slash-menu-component", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/08-suggestion-menus-emoji-picker-columns/package.json b/examples/03-ui-components/08-suggestion-menus-emoji-picker-columns/package.json index 0af6a1c397..c933aea6cb 100644 --- a/examples/03-ui-components/08-suggestion-menus-emoji-picker-columns/package.json +++ b/examples/03-ui-components/08-suggestion-menus-emoji-picker-columns/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-suggestion-menus-emoji-picker-columns", + "name": "@blocknote/example-ui-components-suggestion-menus-emoji-picker-columns", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/09-suggestion-menus-emoji-picker-component/package.json b/examples/03-ui-components/09-suggestion-menus-emoji-picker-component/package.json index 697bc6cc8f..259276ce27 100644 --- a/examples/03-ui-components/09-suggestion-menus-emoji-picker-component/package.json +++ b/examples/03-ui-components/09-suggestion-menus-emoji-picker-component/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-suggestion-menus-emoji-picker-component", + "name": "@blocknote/example-ui-components-suggestion-menus-emoji-picker-component", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/10-suggestion-menus-grid-mentions/package.json b/examples/03-ui-components/10-suggestion-menus-grid-mentions/package.json index 886b3b20c6..ed99e19b43 100644 --- a/examples/03-ui-components/10-suggestion-menus-grid-mentions/package.json +++ b/examples/03-ui-components/10-suggestion-menus-grid-mentions/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-suggestion-menus-grid-mentions", + "name": "@blocknote/example-ui-components-suggestion-menus-grid-mentions", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/11-uppy-file-panel/package.json b/examples/03-ui-components/11-uppy-file-panel/package.json index 74f5905aeb..e1b7a98888 100644 --- a/examples/03-ui-components/11-uppy-file-panel/package.json +++ b/examples/03-ui-components/11-uppy-file-panel/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-uppy-file-panel", + "name": "@blocknote/example-ui-components-uppy-file-panel", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/12-static-formatting-toolbar/package.json b/examples/03-ui-components/12-static-formatting-toolbar/package.json index da4735a601..e3e07cceac 100644 --- a/examples/03-ui-components/12-static-formatting-toolbar/package.json +++ b/examples/03-ui-components/12-static-formatting-toolbar/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-static-formatting-toolbar", + "name": "@blocknote/example-ui-components-static-formatting-toolbar", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/13-custom-ui/package.json b/examples/03-ui-components/13-custom-ui/package.json index c93dab18c5..4f2d67c282 100644 --- a/examples/03-ui-components/13-custom-ui/package.json +++ b/examples/03-ui-components/13-custom-ui/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-custom-ui", + "name": "@blocknote/example-ui-components-custom-ui", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/14-experimental-mobile-formatting-toolbar/package.json b/examples/03-ui-components/14-experimental-mobile-formatting-toolbar/package.json index 69dd64c794..c581485b1e 100644 --- a/examples/03-ui-components/14-experimental-mobile-formatting-toolbar/package.json +++ b/examples/03-ui-components/14-experimental-mobile-formatting-toolbar/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-experimental-mobile-formatting-toolbar", + "name": "@blocknote/example-ui-components-experimental-mobile-formatting-toolbar", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/15-advanced-tables/package.json b/examples/03-ui-components/15-advanced-tables/package.json index 962209faf6..b01ce849e7 100644 --- a/examples/03-ui-components/15-advanced-tables/package.json +++ b/examples/03-ui-components/15-advanced-tables/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-advanced-tables", + "name": "@blocknote/example-ui-components-advanced-tables", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/03-ui-components/link-toolbar-buttons/package.json b/examples/03-ui-components/link-toolbar-buttons/package.json index 4b3c21921b..abf29e935f 100644 --- a/examples/03-ui-components/link-toolbar-buttons/package.json +++ b/examples/03-ui-components/link-toolbar-buttons/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-link-toolbar-buttons", + "name": "@blocknote/example-ui-components-link-toolbar-buttons", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/04-theming/01-theming-dom-attributes/package.json b/examples/04-theming/01-theming-dom-attributes/package.json index a9688166e7..f2b71c3e2d 100644 --- a/examples/04-theming/01-theming-dom-attributes/package.json +++ b/examples/04-theming/01-theming-dom-attributes/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-theming-dom-attributes", + "name": "@blocknote/example-theming-theming-dom-attributes", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/04-theming/02-changing-font/package.json b/examples/04-theming/02-changing-font/package.json index 338f6a9886..fb4f54d6f5 100644 --- a/examples/04-theming/02-changing-font/package.json +++ b/examples/04-theming/02-changing-font/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-changing-font", + "name": "@blocknote/example-theming-changing-font", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/04-theming/03-theming-css/package.json b/examples/04-theming/03-theming-css/package.json index 7b6fa317c3..d3d9b61829 100644 --- a/examples/04-theming/03-theming-css/package.json +++ b/examples/04-theming/03-theming-css/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-theming-css", + "name": "@blocknote/example-theming-theming-css", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/04-theming/04-theming-css-variables/package.json b/examples/04-theming/04-theming-css-variables/package.json index 91b5b6b6ae..aafb4cfcf9 100644 --- a/examples/04-theming/04-theming-css-variables/package.json +++ b/examples/04-theming/04-theming-css-variables/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-theming-css-variables", + "name": "@blocknote/example-theming-theming-css-variables", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/04-theming/05-theming-css-variables-code/package.json b/examples/04-theming/05-theming-css-variables-code/package.json index ba67913af9..bea27d77ea 100644 --- a/examples/04-theming/05-theming-css-variables-code/package.json +++ b/examples/04-theming/05-theming-css-variables-code/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-theming-css-variables-code", + "name": "@blocknote/example-theming-theming-css-variables-code", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/04-theming/06-code-block/package.json b/examples/04-theming/06-code-block/package.json index dac4dc03a6..a71e44df2d 100644 --- a/examples/04-theming/06-code-block/package.json +++ b/examples/04-theming/06-code-block/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-code-block", + "name": "@blocknote/example-theming-code-block", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/04-theming/07-custom-code-block/package.json b/examples/04-theming/07-custom-code-block/package.json index a5fe5530c3..33aa535e85 100644 --- a/examples/04-theming/07-custom-code-block/package.json +++ b/examples/04-theming/07-custom-code-block/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-custom-code-block", + "name": "@blocknote/example-theming-custom-code-block", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/05-interoperability/01-converting-blocks-to-html/package.json b/examples/05-interoperability/01-converting-blocks-to-html/package.json index 43b5b3df06..bead14a025 100644 --- a/examples/05-interoperability/01-converting-blocks-to-html/package.json +++ b/examples/05-interoperability/01-converting-blocks-to-html/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-converting-blocks-to-html", + "name": "@blocknote/example-interoperability-converting-blocks-to-html", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/05-interoperability/02-converting-blocks-from-html/package.json b/examples/05-interoperability/02-converting-blocks-from-html/package.json index f31ad9ff6a..d1dbd7037d 100644 --- a/examples/05-interoperability/02-converting-blocks-from-html/package.json +++ b/examples/05-interoperability/02-converting-blocks-from-html/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-converting-blocks-from-html", + "name": "@blocknote/example-interoperability-converting-blocks-from-html", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/05-interoperability/03-converting-blocks-to-md/package.json b/examples/05-interoperability/03-converting-blocks-to-md/package.json index de3151f165..b48fde48e6 100644 --- a/examples/05-interoperability/03-converting-blocks-to-md/package.json +++ b/examples/05-interoperability/03-converting-blocks-to-md/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-converting-blocks-to-md", + "name": "@blocknote/example-interoperability-converting-blocks-to-md", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/05-interoperability/04-converting-blocks-from-md/package.json b/examples/05-interoperability/04-converting-blocks-from-md/package.json index 3c733ea46c..c8148fb197 100644 --- a/examples/05-interoperability/04-converting-blocks-from-md/package.json +++ b/examples/05-interoperability/04-converting-blocks-from-md/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-converting-blocks-from-md", + "name": "@blocknote/example-interoperability-converting-blocks-from-md", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/05-interoperability/05-converting-blocks-to-pdf/package.json b/examples/05-interoperability/05-converting-blocks-to-pdf/package.json index d28a48de5f..a20a4011c4 100644 --- a/examples/05-interoperability/05-converting-blocks-to-pdf/package.json +++ b/examples/05-interoperability/05-converting-blocks-to-pdf/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-converting-blocks-to-pdf", + "name": "@blocknote/example-interoperability-converting-blocks-to-pdf", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/05-interoperability/06-converting-blocks-to-docx/package.json b/examples/05-interoperability/06-converting-blocks-to-docx/package.json index 1947c68d54..092a4761c2 100644 --- a/examples/05-interoperability/06-converting-blocks-to-docx/package.json +++ b/examples/05-interoperability/06-converting-blocks-to-docx/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-converting-blocks-to-docx", + "name": "@blocknote/example-interoperability-converting-blocks-to-docx", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/05-interoperability/07-converting-blocks-to-odt/package.json b/examples/05-interoperability/07-converting-blocks-to-odt/package.json index e5e81bfaa8..4318d50d5b 100644 --- a/examples/05-interoperability/07-converting-blocks-to-odt/package.json +++ b/examples/05-interoperability/07-converting-blocks-to-odt/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-converting-blocks-to-odt", + "name": "@blocknote/example-interoperability-converting-blocks-to-odt", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/06-custom-schema/01-alert-block/package.json b/examples/06-custom-schema/01-alert-block/package.json index 86988599a5..724ada3572 100644 --- a/examples/06-custom-schema/01-alert-block/package.json +++ b/examples/06-custom-schema/01-alert-block/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-alert-block", + "name": "@blocknote/example-custom-schema-alert-block", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/06-custom-schema/02-suggestion-menus-mentions/App.tsx b/examples/06-custom-schema/02-suggestion-menus-mentions/App.tsx index 16d93cdeb9..f4116fbecf 100644 --- a/examples/06-custom-schema/02-suggestion-menus-mentions/App.tsx +++ b/examples/06-custom-schema/02-suggestion-menus-mentions/App.tsx @@ -32,6 +32,7 @@ const getMentionMenuItems = ( const users = ["Steve", "Bob", "Joe", "Mike"]; return users.map((user) => ({ + key: user.toLowerCase(), title: user, onItemClick: () => { editor.insertInlineContent([ diff --git a/examples/06-custom-schema/02-suggestion-menus-mentions/package.json b/examples/06-custom-schema/02-suggestion-menus-mentions/package.json index 05f9ea4cbf..21f885a9e4 100644 --- a/examples/06-custom-schema/02-suggestion-menus-mentions/package.json +++ b/examples/06-custom-schema/02-suggestion-menus-mentions/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-suggestion-menus-mentions", + "name": "@blocknote/example-custom-schema-suggestion-menus-mentions", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/06-custom-schema/03-font-style/package.json b/examples/06-custom-schema/03-font-style/package.json index ef3214b29b..d08215b00e 100644 --- a/examples/06-custom-schema/03-font-style/package.json +++ b/examples/06-custom-schema/03-font-style/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-font-style", + "name": "@blocknote/example-custom-schema-font-style", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/06-custom-schema/04-pdf-file-block/App.tsx b/examples/06-custom-schema/04-pdf-file-block/App.tsx index 327ff9fc8b..3d2ade9a8d 100644 --- a/examples/06-custom-schema/04-pdf-file-block/App.tsx +++ b/examples/06-custom-schema/04-pdf-file-block/App.tsx @@ -30,6 +30,7 @@ const schema = BlockNoteSchema.create({ // Slash menu item to insert a PDF block const insertPDF = (editor: typeof schema.BlockNoteEditor) => ({ + key: "pdf", title: "PDF", onItemClick: () => { insertOrUpdateBlock(editor, { diff --git a/examples/06-custom-schema/04-pdf-file-block/package.json b/examples/06-custom-schema/04-pdf-file-block/package.json index 4d18a9546f..f817dbae28 100644 --- a/examples/06-custom-schema/04-pdf-file-block/package.json +++ b/examples/06-custom-schema/04-pdf-file-block/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-pdf-file-block", + "name": "@blocknote/example-custom-schema-pdf-file-block", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/06-custom-schema/05-alert-block-full-ux/App.tsx b/examples/06-custom-schema/05-alert-block-full-ux/App.tsx index 19b14b358a..ed48fec722 100644 --- a/examples/06-custom-schema/05-alert-block-full-ux/App.tsx +++ b/examples/06-custom-schema/05-alert-block-full-ux/App.tsx @@ -8,13 +8,13 @@ import "@blocknote/core/fonts/inter.css"; import { BlockNoteView } from "@blocknote/mantine"; import "@blocknote/mantine/style.css"; import { + BlockTypeSelectItem, + FormattingToolbar, FormattingToolbarController, SuggestionMenuController, blockTypeSelectItems, getDefaultReactSlashMenuItems, useCreateBlockNote, - BlockTypeSelectItem, - FormattingToolbar, } from "@blocknote/react"; import { RiAlertFill } from "react-icons/ri"; @@ -35,6 +35,7 @@ const schema = BlockNoteSchema.create({ const insertAlert = (editor: typeof schema.BlockNoteEditor) => ({ title: "Alert", subtext: "Alert for emphasizing text", + key: "alert", onItemClick: () => // If the block containing the text caret is empty, `insertOrUpdateBlock` // changes its type to the provided block. Otherwise, it inserts the new diff --git a/examples/06-custom-schema/05-alert-block-full-ux/package.json b/examples/06-custom-schema/05-alert-block-full-ux/package.json index a5ca782e7a..635d86536f 100644 --- a/examples/06-custom-schema/05-alert-block-full-ux/package.json +++ b/examples/06-custom-schema/05-alert-block-full-ux/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-alert-block-full-ux", + "name": "@blocknote/example-custom-schema-alert-block-full-ux", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/06-custom-schema/react-custom-blocks/package.json b/examples/06-custom-schema/react-custom-blocks/package.json index 1998f1ca1a..ef9df33b4a 100644 --- a/examples/06-custom-schema/react-custom-blocks/package.json +++ b/examples/06-custom-schema/react-custom-blocks/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-react-custom-blocks", + "name": "@blocknote/example-custom-schema-react-custom-blocks", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/06-custom-schema/react-custom-inline-content/package.json b/examples/06-custom-schema/react-custom-inline-content/package.json index 02e0da5c3c..1dc9b17734 100644 --- a/examples/06-custom-schema/react-custom-inline-content/package.json +++ b/examples/06-custom-schema/react-custom-inline-content/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-react-custom-inline-content", + "name": "@blocknote/example-custom-schema-react-custom-inline-content", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/06-custom-schema/react-custom-styles/App.tsx b/examples/06-custom-schema/react-custom-styles/App.tsx index f19533c79d..a3bfbbd8a5 100644 --- a/examples/06-custom-schema/react-custom-styles/App.tsx +++ b/examples/06-custom-schema/react-custom-styles/App.tsx @@ -1,17 +1,17 @@ import { BlockNoteSchema, defaultStyleSpecs } from "@blocknote/core"; import "@blocknote/core/fonts/inter.css"; +import { BlockNoteView } from "@blocknote/mantine"; +import "@blocknote/mantine/style.css"; import { - createReactStyleSpec, FormattingToolbar, FormattingToolbarController, FormattingToolbarProps, + createReactStyleSpec, useActiveStyles, useBlockNoteEditor, useComponentsContext, useCreateBlockNote, } from "@blocknote/react"; -import { BlockNoteView } from "@blocknote/mantine"; -import "@blocknote/mantine/style.css"; const small = createReactStyleSpec( { diff --git a/examples/06-custom-schema/react-custom-styles/package.json b/examples/06-custom-schema/react-custom-styles/package.json index f3cf3bf4fb..a2d9f585a2 100644 --- a/examples/06-custom-schema/react-custom-styles/package.json +++ b/examples/06-custom-schema/react-custom-styles/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-react-custom-styles", + "name": "@blocknote/example-custom-schema-react-custom-styles", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/07-collaboration/01-partykit/package.json b/examples/07-collaboration/01-partykit/package.json index c39e06c134..c50ea40320 100644 --- a/examples/07-collaboration/01-partykit/package.json +++ b/examples/07-collaboration/01-partykit/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-partykit", + "name": "@blocknote/example-collaboration-partykit", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/07-collaboration/02-liveblocks/package.json b/examples/07-collaboration/02-liveblocks/package.json index f5b01c872b..def2998319 100644 --- a/examples/07-collaboration/02-liveblocks/package.json +++ b/examples/07-collaboration/02-liveblocks/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-liveblocks", + "name": "@blocknote/example-collaboration-liveblocks", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/07-collaboration/03-y-sweet/package.json b/examples/07-collaboration/03-y-sweet/package.json index abd2912846..cb8d1492a1 100644 --- a/examples/07-collaboration/03-y-sweet/package.json +++ b/examples/07-collaboration/03-y-sweet/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-y-sweet", + "name": "@blocknote/example-collaboration-y-sweet", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/07-collaboration/04-comments/package.json b/examples/07-collaboration/04-comments/package.json index 84e0105849..45cebf7075 100644 --- a/examples/07-collaboration/04-comments/package.json +++ b/examples/07-collaboration/04-comments/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-comments", + "name": "@blocknote/example-collaboration-comments", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/07-collaboration/05-comments-with-sidebar/package.json b/examples/07-collaboration/05-comments-with-sidebar/package.json index c49f1dcb9a..2b7d33d0c8 100644 --- a/examples/07-collaboration/05-comments-with-sidebar/package.json +++ b/examples/07-collaboration/05-comments-with-sidebar/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-comments-with-sidebar", + "name": "@blocknote/example-collaboration-comments-with-sidebar", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/08-extensions/01-tiptap-arrow-conversion/package.json b/examples/08-extensions/01-tiptap-arrow-conversion/package.json index 464decdddd..9d973b019f 100644 --- a/examples/08-extensions/01-tiptap-arrow-conversion/package.json +++ b/examples/08-extensions/01-tiptap-arrow-conversion/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-tiptap-arrow-conversion", + "name": "@blocknote/example-extensions-tiptap-arrow-conversion", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/09-ai/01-minimal/.bnexample.json b/examples/09-ai/01-minimal/.bnexample.json new file mode 100644 index 0000000000..74c5fdccf6 --- /dev/null +++ b/examples/09-ai/01-minimal/.bnexample.json @@ -0,0 +1,13 @@ +{ + "playground": true, + "docs": true, + "author": "yousefed", + "tags": ["AI", "llm"], + "dependencies": { + "@blocknote/xl-ai": "latest", + "@mantine/core": "^7.10.1", + "ai": "^4.1.0", + "@ai-sdk/openai": "^1.1.0", + "@ai-sdk/groq": "^1.1.0" + } +} diff --git a/examples/09-ai/01-minimal/App.tsx b/examples/09-ai/01-minimal/App.tsx new file mode 100644 index 0000000000..c0454377dc --- /dev/null +++ b/examples/09-ai/01-minimal/App.tsx @@ -0,0 +1,222 @@ +/// + +import { + AIToolbarButton, + BlockNoteAIUI, + locales as aiLocales, + createAIExtension, + createBlockNoteAIClient, + getAIExtension, + getAISlashMenuItems, +} from "@blocknote/xl-ai"; + +import { createGroq } from "@ai-sdk/groq"; +import { createOpenAI } from "@ai-sdk/openai"; +import { + BlockNoteEditor, + BlockNoteSchema, + defaultBlockSpecs, + filterSuggestionItems, +} from "@blocknote/core"; +import "@blocknote/core/fonts/inter.css"; +import { en } from "@blocknote/core/locales"; +import { BlockNoteView } from "@blocknote/mantine"; +import "@blocknote/mantine/style.css"; +import { + FormattingToolbar, + FormattingToolbarController, + SuggestionMenuController, + blockTypeSelectItems, + getDefaultReactSlashMenuItems, + getFormattingToolbarItems, + useCreateBlockNote, +} from "@blocknote/react"; +import "@blocknote/xl-ai/style.css"; +import { Fieldset, Switch } from "@mantine/core"; +import { useCallback } from "react"; +import { useStore } from "zustand"; +import { BasicAutocomplete } from "./AutoComplete.js"; +import RadioGroupComponent from "./components/RadioGroupComponent.js"; + +const schema = BlockNoteSchema.create({ + blockSpecs: { + ...defaultBlockSpecs, + // ai: AIBlock, + }, +}); + +const client = createBlockNoteAIClient({ + apiKey: import.meta.env.VITE_BLOCKNOTE_AI_SERVER_API_KEY || "PLACEHOLDER", + baseURL: + import.meta.env.VITE_BLOCKNOTE_AI_SERVER_BASE_URL || + "https://localhost:3000/ai", +}); + +function getModel(aiModelString: string) { + const [provider, ...modelNameParts] = aiModelString.split("/"); + const modelName = modelNameParts.join("/"); + if (provider === "openai.chat") { + return createOpenAI({ + ...client.getProviderSettings("openai"), + })(modelName, {}); + } else if (provider === "groq.chat") { + return createGroq({ + ...client.getProviderSettings("groq"), + })(modelName); + } else if (provider === "albert-etalab.chat") { + return createOpenAI({ + // albert-etalab/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 + baseURL: "https://albert.api.staging.etalab.gouv.fr/v1", + ...client.getProviderSettings("albert-etalab"), + compatibility: "compatible", + })(modelName); + } + throw new Error(`Unknown model: ${aiModelString}`); +} +export default function App() { + // Creates a new editor instance. + const editor = useCreateBlockNote({ + schema, + dictionary: { + ...en, + ai: aiLocales.en, + } as any, + _extensions: { + // TO DISCUSS + // we pass the extension here. + // I don't really like the fact that "ai" is hardcoded - I think we need an API that also allows us to pass in extensions without specifying the key + ai: createAIExtension({ + model: getModel("openai.chat/gpt-4o"), + }), + }, + initialContent: [ + { + type: "heading", + props: { + level: 1, + }, + content: "I love cats", + }, + { + type: "paragraph", + content: + "Cats are one of the most beloved and fascinating animals in the world. Known for their agility, independence, and charm, cats have been companions to humans for thousands of years. Domesticated cats, scientifically named Felis catus, come in various breeds, colors, and personalities, making them a popular choice for pet owners everywhere. Their mysterious behavior, sharp reflexes, and quiet affection have earned them a special place in countless households.", + }, + { + type: "paragraph", + content: + "Beyond their role as pets, cats have a rich history and cultural significance. In ancient Egypt, they were revered and even worshipped as symbols of protection and grace. Throughout history, they’ve appeared in folklore, art, and literature, often associated with curiosity, luck, and mystery. Despite superstitions surrounding black cats in some cultures, many societies around the world admire and cherish these sleek and graceful animals.", + }, + { + type: "paragraph", + content: + "Cats also offer emotional and physical benefits to their owners. Studies have shown that interacting with cats can reduce stress, lower blood pressure, and improve mental well-being. Their gentle purring, playful antics, and warm companionship provide comfort to people of all ages. Whether lounging in the sun, chasing a toy, or curling up on a lap, cats bring joy, peace, and a bit of magic to the lives of those who welcome them into their homes.", + }, + ], + }); + + const ai = getAIExtension(editor); + // TBD: we now derive this from the LLM extension options. desirable? + + const model = useStore(ai.options, (state) => state.model); + + const modelString = model.provider + "/" + model.modelId; + + const setAiModelString = useCallback( + (value: string) => { + ai.options.setState({ model: getModel(value) }); + }, + [ai.options] + ); + + // const [dataFormat, setDataFormat] = useState<"json" | "markdown" | "html">( + // "html" + // ); + + const dataFormat = useStore(ai.options, (state) => state.dataFormat); + + // const [stream, setStream] = useState(true); + + const stream = useStore(ai.options, (state) => state.stream); + + // Renders the editor instance using a React component. + return ( +
+
+ + + + ai.options.setState({ dataFormat: value as "json" | "markdown" }) + } + /> + + ai.options.setState({ stream: e.target.checked })} + label="Streaming" + /> +
+ + + + ( + + {...getFormattingToolbarItems([ + ...blockTypeSelectItems(editor.dictionary), + // ...aiBlockTypeSelectItems(aiLocales.en), + ])} + + + )} + /> + + {/* TODO: Side Menu customization */} + +
+ ); +} + +function SuggestionMenu(props: { editor: BlockNoteEditor }) { + return ( + + filterSuggestionItems( + [ + ...getDefaultReactSlashMenuItems(props.editor), + ...getAISlashMenuItems(props.editor), + ], + query + ) + } + /> + ); +} + +/** + * - correct commands + * - FIX UI + * + * API: + * - context (which part of document to pass along) + * - based on selection + * + * - box with proposal + * + */ diff --git a/examples/09-ai/01-minimal/AutoComplete.tsx b/examples/09-ai/01-minimal/AutoComplete.tsx new file mode 100644 index 0000000000..27217e899f --- /dev/null +++ b/examples/09-ai/01-minimal/AutoComplete.tsx @@ -0,0 +1,60 @@ +import { Combobox, TextInput, useCombobox } from "@mantine/core"; +import { AI_MODELS } from "./data/aimodels.js"; + +// https://mantine.dev/combobox/?e=BasicAutocomplete +export function BasicAutocomplete(props: { + value: string; + onChange: (value: string) => void; +}) { + const { value, onChange } = props; + const combobox = useCombobox(); + + const shouldFilterOptions = !AI_MODELS.some((item) => item === value); + const filteredOptions = shouldFilterOptions + ? AI_MODELS.filter((item) => + item.toLowerCase().includes(value.toLowerCase().trim()) + ) + : AI_MODELS; + + const options = filteredOptions.map((item) => ( + + {item} + + )); + + return ( + { + onChange(optionValue); + combobox.closeDropdown(); + }} + store={combobox} + withinPortal={false}> + + { + onChange(event.currentTarget.value); + combobox.openDropdown(); + combobox.updateSelectedOptionIndex(); + }} + onClick={() => combobox.openDropdown()} + onFocus={() => combobox.openDropdown()} + onBlur={() => combobox.closeDropdown()} + /> + + + + + {options.length === 0 ? ( + Nothing found + ) : ( + options + )} + + + + ); +} diff --git a/examples/09-ai/01-minimal/README.md b/examples/09-ai/01-minimal/README.md new file mode 100644 index 0000000000..ceef0db5fd --- /dev/null +++ b/examples/09-ai/01-minimal/README.md @@ -0,0 +1,7 @@ +# AI integration + +This example shows how to use the `@blocknote/xl-ai` package to add AI capabilities to BlockNote. + +**Relevant Docs:** + +- TODO diff --git a/examples/09-ai/01-minimal/components/RadioGroupComponent.module.css b/examples/09-ai/01-minimal/components/RadioGroupComponent.module.css new file mode 100644 index 0000000000..46eedff7db --- /dev/null +++ b/examples/09-ai/01-minimal/components/RadioGroupComponent.module.css @@ -0,0 +1,33 @@ +.root { + position: relative; + padding: var(--mantine-spacing-md); + transition: border-color 150ms ease; + + &[data-checked] { + border-color: var(--mantine-primary-color-filled); + } + + @mixin hover { + @mixin light { + background-color: var(--mantine-color-gray-0); + } + + @mixin dark { + background-color: var(--mantine-color-dark-6); + } + } +} + +.label { + font-family: var(--mantine-font-family-monospace); + font-weight: bold; + font-size: var(--mantine-font-size-md); + line-height: 1.3; + color: var(--mantine-color-bright); +} + +.description { + margin-top: 8px; + color: var(--mantine-color-dimmed); + font-size: var(--mantine-font-size-xs); +} diff --git a/examples/09-ai/01-minimal/components/RadioGroupComponent.tsx b/examples/09-ai/01-minimal/components/RadioGroupComponent.tsx new file mode 100644 index 0000000000..f1cbed1508 --- /dev/null +++ b/examples/09-ai/01-minimal/components/RadioGroupComponent.tsx @@ -0,0 +1,44 @@ +import { Radio, Stack } from "@mantine/core"; +import React from "react"; + +interface RadioGroupComponentProps { + label: string; + items: Array<{ + name: string; + description: string; + value: string; + }>; + value: string; + onChange: (value: string) => void; +} + +const RadioGroupComponent: React.FC = ({ + label, + items, + value, + onChange, +}) => ( + + + {items.map((item) => ( + + // TODO: doesn't work well with our mantive version or styles + // + // + // + //
+ // {item.name} + // {item.description} + //
+ //
+ //
+ ))} +
+
+); + +export default RadioGroupComponent; diff --git a/examples/09-ai/01-minimal/data/aimodels.ts b/examples/09-ai/01-minimal/data/aimodels.ts new file mode 100644 index 0000000000..194b99f315 --- /dev/null +++ b/examples/09-ai/01-minimal/data/aimodels.ts @@ -0,0 +1,36 @@ +export const AI_MODELS = [ + "openai.chat/o1-preview", + "openai.chat/o1-mini", + "openai.chat/gpt-4o", + "openai.chat/gpt-4o-2024-05-13", + "openai.chat/gpt-4o-2024-08-06", + "openai.chat/gpt-4o-2024-11-20", + "openai.chat/gpt-4o-audio-preview", + "openai.chat/gpt-4o-audio-preview-2024-10-01", + "openai.chat/gpt-4o-mini", + "openai.chat/gpt-4o-mini-2024-07-18", + "openai.chat/gpt-4-turbo", + "openai.chat/gpt-4-turbo-2024-04-09", + "openai.chat/gpt-4-turbo-preview", + "openai.chat/gpt-4-0125-preview", + "openai.chat/gpt-4-1106-preview", + "openai.chat/gpt-4", + "openai.chat/gpt-4-0613", + "openai.chat/gpt-3.5-turbo-0125", + "openai.chat/gpt-3.5-turbo", + "openai.chat/gpt-3.5-turbo-1106", + "groq.chat/gemma2-9b-it", + "groq.chat/llama-3.3-70b-versatile", + "groq.chat/llama-3.1-8b-instant", + "groq.chat/llama-guard-3-8b", + "groq.chat/llama3-70b-8192", + "groq.chat/llama3-8b-8192", + "groq.chat/mixtral-8x7b-32768", + "groq.chat/deepseek-r1-distill-llama-70b-specdec", + "groq.chat/deepseek-r1-distill-llama-70b", + "groq.chat/llama-3.3-70b-specdec", + "groq.chat/llama-3.2-1b-preview", + "groq.chat/llama-3.2-3b-preview", + "groq.chat/llama-3.2-11b-vision-preview", + "groq.chat/llama-3.2-90b-vision-preview", +]; diff --git a/examples/09-ai/01-minimal/index.html b/examples/09-ai/01-minimal/index.html new file mode 100644 index 0000000000..76bfd55b19 --- /dev/null +++ b/examples/09-ai/01-minimal/index.html @@ -0,0 +1,14 @@ + + + + + + AI integration + + +
+ + + diff --git a/examples/09-ai/01-minimal/main.tsx b/examples/09-ai/01-minimal/main.tsx new file mode 100644 index 0000000000..6284417d60 --- /dev/null +++ b/examples/09-ai/01-minimal/main.tsx @@ -0,0 +1,11 @@ +// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY +import React from "react"; +import { createRoot } from "react-dom/client"; +import App from "./App.jsx"; + +const root = createRoot(document.getElementById("root")!); +root.render( + + + +); diff --git a/examples/09-ai/01-minimal/package.json b/examples/09-ai/01-minimal/package.json new file mode 100644 index 0000000000..ff4f54608c --- /dev/null +++ b/examples/09-ai/01-minimal/package.json @@ -0,0 +1,32 @@ +{ + "name": "@blocknote/example-ai-minimal", + "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", + "private": true, + "version": "0.12.4", + "scripts": { + "start": "vite", + "dev": "vite", + "build:prod": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@blocknote/core": "latest", + "@blocknote/react": "latest", + "@blocknote/ariakit": "latest", + "@blocknote/mantine": "latest", + "@blocknote/shadcn": "latest", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "@blocknote/xl-ai": "latest", + "@mantine/core": "^7.10.1", + "ai": "^4.1.0", + "@ai-sdk/openai": "^1.1.0", + "@ai-sdk/groq": "^1.1.0" + }, + "devDependencies": { + "@types/react": "^18.0.25", + "@types/react-dom": "^18.0.9", + "@vitejs/plugin-react": "^4.3.1", + "vite": "^5.3.4" + } +} \ No newline at end of file diff --git a/examples/09-ai/01-minimal/tsconfig.json b/examples/09-ai/01-minimal/tsconfig.json new file mode 100644 index 0000000000..dbe3e6f62d --- /dev/null +++ b/examples/09-ai/01-minimal/tsconfig.json @@ -0,0 +1,36 @@ +{ + "__comment": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": [ + "DOM", + "DOM.Iterable", + "ESNext" + ], + "allowJs": false, + "skipLibCheck": true, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "composite": true + }, + "include": [ + "." + ], + "__ADD_FOR_LOCAL_DEV_references": [ + { + "path": "../../../packages/core/" + }, + { + "path": "../../../packages/react/" + } + ] +} \ No newline at end of file diff --git a/examples/09-ai/01-minimal/vite-env.d.ts b/examples/09-ai/01-minimal/vite-env.d.ts new file mode 100644 index 0000000000..835d74da9f --- /dev/null +++ b/examples/09-ai/01-minimal/vite-env.d.ts @@ -0,0 +1,10 @@ +/// + +interface ImportMetaEnv { + readonly VITE_BLOCKNOTE_AI_SERVER_API_KEY: string; + readonly VITE_BLOCKNOTE_AI_SERVER_BASE_URL: string; +} + +interface ImportMeta { + readonly env: ImportMetaEnv; +} diff --git a/examples/09-ai/01-minimal/vite.config.ts b/examples/09-ai/01-minimal/vite.config.ts new file mode 100644 index 0000000000..f62ab20bc2 --- /dev/null +++ b/examples/09-ai/01-minimal/vite.config.ts @@ -0,0 +1,32 @@ +// AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY +import react from "@vitejs/plugin-react"; +import * as fs from "fs"; +import * as path from "path"; +import { defineConfig } from "vite"; +// import eslintPlugin from "vite-plugin-eslint"; +// https://vitejs.dev/config/ +export default defineConfig((conf) => ({ + plugins: [react()], + optimizeDeps: {}, + build: { + sourcemap: true, + }, + resolve: { + alias: + conf.command === "build" || + !fs.existsSync(path.resolve(__dirname, "../../packages/core/src")) + ? {} + : ({ + // Comment out the lines below to load a built version of blocknote + // or, keep as is to load live from sources with live reload working + "@blocknote/core": path.resolve( + __dirname, + "../../packages/core/src/" + ), + "@blocknote/react": path.resolve( + __dirname, + "../../packages/react/src/" + ), + } as any), + }, +})); diff --git a/examples/vanilla-js/react-vanilla-custom-blocks/package.json b/examples/vanilla-js/react-vanilla-custom-blocks/package.json index e33728d57c..6349cd5574 100644 --- a/examples/vanilla-js/react-vanilla-custom-blocks/package.json +++ b/examples/vanilla-js/react-vanilla-custom-blocks/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-react-vanilla-custom-blocks", + "name": "@blocknote/example-vanilla-js-react-vanilla-custom-blocks", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/vanilla-js/react-vanilla-custom-inline-content/package.json b/examples/vanilla-js/react-vanilla-custom-inline-content/package.json index 132a7e48f8..e8664135bd 100644 --- a/examples/vanilla-js/react-vanilla-custom-inline-content/package.json +++ b/examples/vanilla-js/react-vanilla-custom-inline-content/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-react-vanilla-custom-inline-content", + "name": "@blocknote/example-vanilla-js-react-vanilla-custom-inline-content", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/examples/vanilla-js/react-vanilla-custom-styles/App.tsx b/examples/vanilla-js/react-vanilla-custom-styles/App.tsx index 813952cda7..78bf78aafb 100644 --- a/examples/vanilla-js/react-vanilla-custom-styles/App.tsx +++ b/examples/vanilla-js/react-vanilla-custom-styles/App.tsx @@ -4,6 +4,8 @@ import { defaultStyleSpecs, } from "@blocknote/core"; import "@blocknote/core/fonts/inter.css"; +import { BlockNoteView } from "@blocknote/mantine"; +import "@blocknote/mantine/style.css"; import { FormattingToolbar, FormattingToolbarController, @@ -13,8 +15,6 @@ import { useComponentsContext, useCreateBlockNote, } from "@blocknote/react"; -import { BlockNoteView } from "@blocknote/mantine"; -import "@blocknote/mantine/style.css"; const small = createStyleSpec( { diff --git a/examples/vanilla-js/react-vanilla-custom-styles/package.json b/examples/vanilla-js/react-vanilla-custom-styles/package.json index 358013df6f..a3c95ac913 100644 --- a/examples/vanilla-js/react-vanilla-custom-styles/package.json +++ b/examples/vanilla-js/react-vanilla-custom-styles/package.json @@ -1,5 +1,5 @@ { - "name": "@blocknote/example-react-vanilla-custom-styles", + "name": "@blocknote/example-vanilla-js-react-vanilla-custom-styles", "description": "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", "private": true, "version": "0.12.4", diff --git a/package.json b/package.json index e9d7525551..a8d3fb8f4d 100644 --- a/package.json +++ b/package.json @@ -1,4 +1,5 @@ { + "name": "root", "devDependencies": { "@nx/js": "20.6.4", "@typescript-eslint/eslint-plugin": "^5.5.0", @@ -16,7 +17,6 @@ "vitest": "^2.0.3", "wait-on": "8.0.3" }, - "name": "root", "pnpm": { "ignoredBuiltDependencies": [ "sharp", diff --git a/packages/ariakit/package.json b/packages/ariakit/package.json index 030f5b2b49..de191e83b3 100644 --- a/packages/ariakit/package.json +++ b/packages/ariakit/package.json @@ -52,7 +52,8 @@ "build": "tsc && vite build", "preview": "vite preview", "lint": "eslint src --max-warnings 0", - "clean": "rimraf dist && rimraf types" + "clean": "rimraf dist && rimraf types", + "_prepare": "npm run build" }, "dependencies": { "@ariakit/react": "^0.4.3", diff --git a/packages/ariakit/src/input/TextInput.tsx b/packages/ariakit/src/input/TextInput.tsx index 9da81c8f15..aa21323481 100644 --- a/packages/ariakit/src/input/TextInput.tsx +++ b/packages/ariakit/src/input/TextInput.tsx @@ -15,13 +15,17 @@ export const TextInput = forwardRef< className, name, label, + variant, icon, value, autoFocus, placeholder, + disabled, onKeyDown, onChange, onSubmit, + autoComplete, + rightSection, // TODO: add rightSection ...rest } = props; @@ -33,15 +37,21 @@ export const TextInput = forwardRef<
{icon}
diff --git a/packages/ariakit/src/style.css b/packages/ariakit/src/style.css index 2de17b435b..feeeffe7ea 100644 --- a/packages/ariakit/src/style.css +++ b/packages/ariakit/src/style.css @@ -77,14 +77,31 @@ flex: 1; } +.bn-suggestion-menu-item-small .bn-ak-suggestion-menu-item-title { + font-size: 0.875rem; +} + .bn-ak-suggestion-menu-item-subtitle { font-size: 0.7rem; } +.bn-suggestion-menu-item-small .bn-ak-suggestion-menu-item-subtitle { + display: none; +} + .bn-ak-suggestion-menu-item-section[data-position="left"] { + align-items: center; + display: flex; + justify-content: center; + padding: 8px; } +.bn-suggestion-menu-item-small + .bn-ak-suggestion-menu-item-section[data-position="left"] { + padding: 0; +} + .bn-ak-suggestion-menu-item-section[data-position="right"] { --border: rgb(0 0 0/13%); --highlight: rgb(255 255 255/20%); diff --git a/packages/ariakit/src/suggestionMenu/SuggestionMenuItem.tsx b/packages/ariakit/src/suggestionMenu/SuggestionMenuItem.tsx index 8acf330c3a..a44ce03185 100644 --- a/packages/ariakit/src/suggestionMenu/SuggestionMenuItem.tsx +++ b/packages/ariakit/src/suggestionMenu/SuggestionMenuItem.tsx @@ -19,7 +19,7 @@ export const SuggestionMenuItem = forwardRef< const overflow = elementOverflow( itemRef.current, - document.querySelector(".bn-suggestion-menu")! + document.querySelector(".bn-suggestion-menu, #ai-suggestion-menu")! // TODO ); if (overflow === "top") { @@ -34,6 +34,7 @@ export const SuggestionMenuItem = forwardRef< className={mergeCSSClasses("bn-ak-menu-item", className || "")} ref={mergeRefs([ref, itemRef])} id={id} + onMouseDown={(event) => event.preventDefault()} onClick={onClick} role="option" aria-selected={isSelected || undefined}> diff --git a/packages/ariakit/src/toolbar/Toolbar.tsx b/packages/ariakit/src/toolbar/Toolbar.tsx index 9bed2b250b..254d5056b4 100644 --- a/packages/ariakit/src/toolbar/Toolbar.tsx +++ b/packages/ariakit/src/toolbar/Toolbar.tsx @@ -4,8 +4,7 @@ import { assertEmpty, mergeCSSClasses } from "@blocknote/core"; import { ComponentProps } from "@blocknote/react"; import { forwardRef } from "react"; -type ToolbarProps = ComponentProps["FormattingToolbar"]["Root"] & - ComponentProps["LinkToolbar"]["Root"]; +type ToolbarProps = ComponentProps["Generic"]["Toolbar"]["Root"]; export const Toolbar = forwardRef( (props, ref) => { diff --git a/packages/ariakit/src/toolbar/ToolbarButton.tsx b/packages/ariakit/src/toolbar/ToolbarButton.tsx index 5042e64f19..9cd3b6c249 100644 --- a/packages/ariakit/src/toolbar/ToolbarButton.tsx +++ b/packages/ariakit/src/toolbar/ToolbarButton.tsx @@ -9,8 +9,7 @@ import { assertEmpty, isSafari, mergeCSSClasses } from "@blocknote/core"; import { ComponentProps } from "@blocknote/react"; import { forwardRef } from "react"; -type ToolbarButtonProps = ComponentProps["FormattingToolbar"]["Button"] & - ComponentProps["LinkToolbar"]["Button"]; +type ToolbarButtonProps = ComponentProps["Generic"]["Toolbar"]["Button"]; /** * Helper for basic buttons that show in the formatting toolbar. diff --git a/packages/core/package.json b/packages/core/package.json index 96f60de1e8..a15932040e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -69,7 +69,8 @@ "lint": "eslint src --max-warnings 0", "test": "vitest --run", "test-watch": "vitest watch", - "clean": "rimraf dist && rimraf types" + "clean": "rimraf dist && rimraf types", + "_prepare": "npm run build" }, "dependencies": { "@emoji-mart/data": "^1.2.1", @@ -92,12 +93,13 @@ "@tiptap/pm": "^2.11.5", "emoji-mart": "^5.6.0", "hast-util-from-dom": "^5.0.1", + "@handlewithcare/prosemirror-suggest-changes": "^0.1.3", "prosemirror-dropcursor": "^1.8.1", "prosemirror-highlight": "^0.13.0", "prosemirror-model": "^1.24.1", "prosemirror-state": "^1.4.3", "prosemirror-tables": "^1.6.4", - "prosemirror-transform": "^1.10.2", + "prosemirror-transform": "^1.10.4", "prosemirror-view": "^1.38.1", "rehype-format": "^5.0.1", "rehype-parse": "^9.0.1", diff --git a/packages/core/src/api/blockManipulation/commands/insertBlocks/insertBlocks.ts b/packages/core/src/api/blockManipulation/commands/insertBlocks/insertBlocks.ts index 0863484df0..9fcad80bcb 100644 --- a/packages/core/src/api/blockManipulation/commands/insertBlocks/insertBlocks.ts +++ b/packages/core/src/api/blockManipulation/commands/insertBlocks/insertBlocks.ts @@ -1,5 +1,7 @@ import { Fragment, Slice } from "prosemirror-model"; +import type { Transaction } from "prosemirror-state"; +import { ReplaceStep } from "prosemirror-transform"; import { Block, PartialBlock } from "../../../../blocks/defaultBlocks.js"; import { BlockIdentifier, @@ -10,8 +12,6 @@ import { import { blockToNode } from "../../../nodeConversions/blockToNode.js"; import { nodeToBlock } from "../../../nodeConversions/nodeToBlock.js"; import { getNodeById } from "../../../nodeUtil.js"; -import { ReplaceStep } from "prosemirror-transform"; -import type { Transaction } from "prosemirror-state"; import { getPmSchema } from "../../../pmUtil.js"; export function insertBlocks< diff --git a/packages/core/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts b/packages/core/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts index 10796c3f61..48faf5680c 100644 --- a/packages/core/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts +++ b/packages/core/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts @@ -105,4 +105,4 @@ export function removeAndInsertBlocks< ); return { insertedBlocks, removedBlocks }; -} +} \ No newline at end of file diff --git a/packages/core/src/api/blockManipulation/commands/updateBlock/__snapshots__/updateBlock.test.ts.snap b/packages/core/src/api/blockManipulation/commands/updateBlock/__snapshots__/updateBlock.test.ts.snap index 232790218d..1755a8d5e6 100644 --- a/packages/core/src/api/blockManipulation/commands/updateBlock/__snapshots__/updateBlock.test.ts.snap +++ b/packages/core/src/api/blockManipulation/commands/updateBlock/__snapshots__/updateBlock.test.ts.snap @@ -6730,6 +6730,2827 @@ exports[`Test updateBlock > Update no content to table content 2`] = ` ] `; +exports[`Test updateBlock > Update partial (offset start + end) 1`] = ` +[ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 0", + "type": "text", + }, + ], + "id": "paragraph-0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 1", + "type": "text", + }, + ], + "id": "paragraph-1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [ + { + "children": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Double Nested Paragraph 0", + "type": "text", + }, + ], + "id": "double-nested-paragraph-0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Nested Paragraph 0", + "type": "text", + }, + ], + "id": "nested-paragraph-0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Paragraph with children", + "type": "text", + }, + ], + "id": "paragraph-with-children", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 2", + "type": "text", + }, + ], + "id": "paragraph-2", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph with props", + "type": "text", + }, + ], + "id": "paragraph-with-props", + "props": { + "backgroundColor": "default", + "textAlignment": "center", + "textColor": "red", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 3", + "type": "text", + }, + ], + "id": "paragraph-3", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": { + "bold": true, + }, + "text": "Paragraph", + "type": "text", + }, + { + "styles": {}, + "text": " with styled ", + "type": "text", + }, + { + "styles": { + "italic": true, + }, + "text": "content", + "type": "text", + }, + ], + "id": "paragraph-with-styled-content", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 4", + "type": "text", + }, + ], + "id": "paragraph-4", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Heading 1", + "type": "text", + }, + ], + "id": "heading-0", + "props": { + "backgroundColor": "default", + "level": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "heading", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 5", + "type": "text", + }, + ], + "id": "paragraph-5", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": undefined, + "id": "image-0", + "props": { + "backgroundColor": "default", + "caption": "", + "name": "", + "previewWidth": 512, + "showPreview": true, + "textAlignment": "left", + "url": "https://via.placeholder.com/150", + }, + "type": "image", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 6", + "type": "text", + }, + ], + "id": "paragraph-6", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": { + "columnWidths": [ + undefined, + undefined, + undefined, + ], + "headerCols": undefined, + "headerRows": undefined, + "rows": [ + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "Cell 1", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 2", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 3", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "Cell 4", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 5", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 6", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "Cell 7", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 8", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 9", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + ], + "type": "tableContent", + }, + "id": "table-0", + "props": { + "textColor": "default", + }, + "type": "table", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 7", + "type": "text", + }, + ], + "id": "paragraph-7", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [], + "id": "empty-paragraph", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 8", + "type": "text", + }, + ], + "id": "paragraph-8", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [ + { + "children": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Double Nested Paragraph 1", + "type": "text", + }, + ], + "id": "double-nested-paragraph-1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Nested Paragraph 1", + "type": "text", + }, + ], + "id": "nested-paragraph-1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": { + "bold": true, + }, + "text": "Heading", + "type": "text", + }, + { + "styles": {}, + "text": " without styles and with styled ", + "type": "text", + }, + { + "styles": { + "italic": true, + }, + "text": "content", + "type": "text", + }, + ], + "id": "heading-with-everything", + "props": { + "backgroundColor": "red", + "level": 2, + "textAlignment": "center", + "textColor": "red", + }, + "type": "heading", + }, + { + "children": [], + "content": [], + "id": "trailing-paragraph", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, +] +`; + +exports[`Test updateBlock > Update partial (offset start) 1`] = ` +[ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 0", + "type": "text", + }, + ], + "id": "paragraph-0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 1", + "type": "text", + }, + ], + "id": "paragraph-1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [ + { + "children": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Double Nested Paragraph 0", + "type": "text", + }, + ], + "id": "double-nested-paragraph-0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Nested Paragraph 0", + "type": "text", + }, + ], + "id": "nested-paragraph-0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Paragraph with children", + "type": "text", + }, + ], + "id": "paragraph-with-children", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 2", + "type": "text", + }, + ], + "id": "paragraph-2", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph with props", + "type": "text", + }, + ], + "id": "paragraph-with-props", + "props": { + "backgroundColor": "default", + "textAlignment": "center", + "textColor": "red", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 3", + "type": "text", + }, + ], + "id": "paragraph-3", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": { + "bold": true, + }, + "text": "Paragraph", + "type": "text", + }, + { + "styles": {}, + "text": " with styled ", + "type": "text", + }, + { + "styles": { + "italic": true, + }, + "text": "content", + "type": "text", + }, + ], + "id": "paragraph-with-styled-content", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 4", + "type": "text", + }, + ], + "id": "paragraph-4", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Heading 1", + "type": "text", + }, + ], + "id": "heading-0", + "props": { + "backgroundColor": "default", + "level": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "heading", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 5", + "type": "text", + }, + ], + "id": "paragraph-5", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": undefined, + "id": "image-0", + "props": { + "backgroundColor": "default", + "caption": "", + "name": "", + "previewWidth": 512, + "showPreview": true, + "textAlignment": "left", + "url": "https://via.placeholder.com/150", + }, + "type": "image", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 6", + "type": "text", + }, + ], + "id": "paragraph-6", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": { + "columnWidths": [ + undefined, + undefined, + undefined, + ], + "headerCols": undefined, + "headerRows": undefined, + "rows": [ + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "Cell 1", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 2", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 3", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "Cell 4", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 5", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 6", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "Cell 7", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 8", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 9", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + ], + "type": "tableContent", + }, + "id": "table-0", + "props": { + "textColor": "default", + }, + "type": "table", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 7", + "type": "text", + }, + ], + "id": "paragraph-7", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [], + "id": "empty-paragraph", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 8", + "type": "text", + }, + ], + "id": "paragraph-8", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [ + { + "children": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Double Nested Paragraph 1", + "type": "text", + }, + ], + "id": "double-nested-paragraph-1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Nested Paragraph 1", + "type": "text", + }, + ], + "id": "nested-paragraph-1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": { + "bold": true, + }, + "text": "Heading", + "type": "text", + }, + { + "styles": {}, + "text": " without styles", + "type": "text", + }, + ], + "id": "heading-with-everything", + "props": { + "backgroundColor": "red", + "level": 2, + "textAlignment": "center", + "textColor": "red", + }, + "type": "heading", + }, + { + "children": [], + "content": [], + "id": "trailing-paragraph", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, +] +`; + +exports[`Test updateBlock > Update partial (props + offset end) 1`] = ` +[ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 0", + "type": "text", + }, + ], + "id": "paragraph-0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 1", + "type": "text", + }, + ], + "id": "paragraph-1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [ + { + "children": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Double Nested Paragraph 0", + "type": "text", + }, + ], + "id": "double-nested-paragraph-0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Nested Paragraph 0", + "type": "text", + }, + ], + "id": "nested-paragraph-0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Paragraph with children", + "type": "text", + }, + ], + "id": "paragraph-with-children", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 2", + "type": "text", + }, + ], + "id": "paragraph-2", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph with props", + "type": "text", + }, + ], + "id": "paragraph-with-props", + "props": { + "backgroundColor": "default", + "textAlignment": "center", + "textColor": "red", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 3", + "type": "text", + }, + ], + "id": "paragraph-3", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": { + "bold": true, + }, + "text": "Paragraph", + "type": "text", + }, + { + "styles": {}, + "text": " with styled ", + "type": "text", + }, + { + "styles": { + "italic": true, + }, + "text": "content", + "type": "text", + }, + ], + "id": "paragraph-with-styled-content", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 4", + "type": "text", + }, + ], + "id": "paragraph-4", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Heading 1", + "type": "text", + }, + ], + "id": "heading-0", + "props": { + "backgroundColor": "default", + "level": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "heading", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 5", + "type": "text", + }, + ], + "id": "paragraph-5", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": undefined, + "id": "image-0", + "props": { + "backgroundColor": "default", + "caption": "", + "name": "", + "previewWidth": 512, + "showPreview": true, + "textAlignment": "left", + "url": "https://via.placeholder.com/150", + }, + "type": "image", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 6", + "type": "text", + }, + ], + "id": "paragraph-6", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": { + "columnWidths": [ + undefined, + undefined, + undefined, + ], + "headerCols": undefined, + "headerRows": undefined, + "rows": [ + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "Cell 1", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 2", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 3", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "Cell 4", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 5", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 6", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "Cell 7", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 8", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 9", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + ], + "type": "tableContent", + }, + "id": "table-0", + "props": { + "textColor": "default", + }, + "type": "table", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 7", + "type": "text", + }, + ], + "id": "paragraph-7", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [], + "id": "empty-paragraph", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 8", + "type": "text", + }, + ], + "id": "paragraph-8", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [ + { + "children": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Double Nested Paragraph 1", + "type": "text", + }, + ], + "id": "double-nested-paragraph-1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Nested Paragraph 1", + "type": "text", + }, + ], + "id": "nested-paragraph-1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Title with styled ", + "type": "text", + }, + { + "styles": { + "italic": true, + }, + "text": "content", + "type": "text", + }, + ], + "id": "heading-with-everything", + "props": { + "backgroundColor": "red", + "level": 1, + "textAlignment": "center", + "textColor": "red", + }, + "type": "heading", + }, + { + "children": [], + "content": [], + "id": "trailing-paragraph", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, +] +`; + +exports[`Test updateBlock > Update partial (table cell) 1`] = ` +[ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 0", + "type": "text", + }, + ], + "id": "paragraph-0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 1", + "type": "text", + }, + ], + "id": "paragraph-1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [ + { + "children": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Double Nested Paragraph 0", + "type": "text", + }, + ], + "id": "double-nested-paragraph-0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Nested Paragraph 0", + "type": "text", + }, + ], + "id": "nested-paragraph-0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Paragraph with children", + "type": "text", + }, + ], + "id": "paragraph-with-children", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 2", + "type": "text", + }, + ], + "id": "paragraph-2", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph with props", + "type": "text", + }, + ], + "id": "paragraph-with-props", + "props": { + "backgroundColor": "default", + "textAlignment": "center", + "textColor": "red", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 3", + "type": "text", + }, + ], + "id": "paragraph-3", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": { + "bold": true, + }, + "text": "Paragraph", + "type": "text", + }, + { + "styles": {}, + "text": " with styled ", + "type": "text", + }, + { + "styles": { + "italic": true, + }, + "text": "content", + "type": "text", + }, + ], + "id": "paragraph-with-styled-content", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 4", + "type": "text", + }, + ], + "id": "paragraph-4", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Heading 1", + "type": "text", + }, + ], + "id": "heading-0", + "props": { + "backgroundColor": "default", + "level": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "heading", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 5", + "type": "text", + }, + ], + "id": "paragraph-5", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": undefined, + "id": "image-0", + "props": { + "backgroundColor": "default", + "caption": "", + "name": "", + "previewWidth": 512, + "showPreview": true, + "textAlignment": "left", + "url": "https://via.placeholder.com/150", + }, + "type": "image", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 6", + "type": "text", + }, + ], + "id": "paragraph-6", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": { + "columnWidths": [ + undefined, + undefined, + undefined, + ], + "headerCols": undefined, + "headerRows": undefined, + "rows": [ + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "updated cell 1", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 2", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 3", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "Cell 4", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 5", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 6", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "Cell 7", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 8", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 9", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + ], + "type": "tableContent", + }, + "id": "table-0", + "props": { + "textColor": "default", + }, + "type": "table", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 7", + "type": "text", + }, + ], + "id": "paragraph-7", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [], + "id": "empty-paragraph", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 8", + "type": "text", + }, + ], + "id": "paragraph-8", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [ + { + "children": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Double Nested Paragraph 1", + "type": "text", + }, + ], + "id": "double-nested-paragraph-1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Nested Paragraph 1", + "type": "text", + }, + ], + "id": "nested-paragraph-1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": { + "bold": true, + }, + "text": "Heading", + "type": "text", + }, + { + "styles": {}, + "text": " with styled ", + "type": "text", + }, + { + "styles": { + "italic": true, + }, + "text": "content", + "type": "text", + }, + ], + "id": "heading-with-everything", + "props": { + "backgroundColor": "red", + "level": 2, + "textAlignment": "center", + "textColor": "red", + }, + "type": "heading", + }, + { + "children": [], + "content": [], + "id": "trailing-paragraph", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, +] +`; + +exports[`Test updateBlock > Update partial (table row) 1`] = ` +[ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 0", + "type": "text", + }, + ], + "id": "paragraph-0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 1", + "type": "text", + }, + ], + "id": "paragraph-1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [ + { + "children": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Double Nested Paragraph 0", + "type": "text", + }, + ], + "id": "double-nested-paragraph-0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Nested Paragraph 0", + "type": "text", + }, + ], + "id": "nested-paragraph-0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Paragraph with children", + "type": "text", + }, + ], + "id": "paragraph-with-children", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 2", + "type": "text", + }, + ], + "id": "paragraph-2", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph with props", + "type": "text", + }, + ], + "id": "paragraph-with-props", + "props": { + "backgroundColor": "default", + "textAlignment": "center", + "textColor": "red", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 3", + "type": "text", + }, + ], + "id": "paragraph-3", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": { + "bold": true, + }, + "text": "Paragraph", + "type": "text", + }, + { + "styles": {}, + "text": " with styled ", + "type": "text", + }, + { + "styles": { + "italic": true, + }, + "text": "content", + "type": "text", + }, + ], + "id": "paragraph-with-styled-content", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 4", + "type": "text", + }, + ], + "id": "paragraph-4", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Heading 1", + "type": "text", + }, + ], + "id": "heading-0", + "props": { + "backgroundColor": "default", + "level": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "heading", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 5", + "type": "text", + }, + ], + "id": "paragraph-5", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": undefined, + "id": "image-0", + "props": { + "backgroundColor": "default", + "caption": "", + "name": "", + "previewWidth": 512, + "showPreview": true, + "textAlignment": "left", + "url": "https://via.placeholder.com/150", + }, + "type": "image", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 6", + "type": "text", + }, + ], + "id": "paragraph-6", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": { + "columnWidths": [ + undefined, + undefined, + undefined, + ], + "headerCols": undefined, + "headerRows": undefined, + "rows": [ + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "updated cell 1", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "updated cell 2", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "updated cell 3", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "Cell 4", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 5", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 6", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "Cell 7", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 8", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Cell 9", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + ], + "type": "tableContent", + }, + "id": "table-0", + "props": { + "textColor": "default", + }, + "type": "table", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 7", + "type": "text", + }, + ], + "id": "paragraph-7", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [], + "id": "empty-paragraph", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Paragraph 8", + "type": "text", + }, + ], + "id": "paragraph-8", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [ + { + "children": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Double Nested Paragraph 1", + "type": "text", + }, + ], + "id": "double-nested-paragraph-1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": {}, + "text": "Nested Paragraph 1", + "type": "text", + }, + ], + "id": "nested-paragraph-1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "content": [ + { + "styles": { + "bold": true, + }, + "text": "Heading", + "type": "text", + }, + { + "styles": {}, + "text": " with styled ", + "type": "text", + }, + { + "styles": { + "italic": true, + }, + "text": "content", + "type": "text", + }, + ], + "id": "heading-with-everything", + "props": { + "backgroundColor": "red", + "level": 2, + "textAlignment": "center", + "textColor": "red", + }, + "type": "heading", + }, + { + "children": [], + "content": [], + "id": "trailing-paragraph", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, +] +`; + exports[`Test updateBlock > Update single prop 1`] = ` { "children": [ diff --git a/packages/core/src/api/blockManipulation/commands/updateBlock/updateBlock.test.ts b/packages/core/src/api/blockManipulation/commands/updateBlock/updateBlock.test.ts index cb738b43b2..95ea4dc4e7 100644 --- a/packages/core/src/api/blockManipulation/commands/updateBlock/updateBlock.test.ts +++ b/packages/core/src/api/blockManipulation/commands/updateBlock/updateBlock.test.ts @@ -1,5 +1,7 @@ import { describe, expect, it } from "vitest"; +import { getBlockInfo } from "../../../getBlockInfoFromPos.js"; +import { getNodeById } from "../../../nodeUtil.js"; import { setupTestEnv } from "../../setupTestEnv.js"; import { updateBlock } from "./updateBlock.js"; @@ -13,7 +15,7 @@ describe("Test updateBlock typing", () => { { // @ts-expect-error invalid type type: "non-existing", - } + }, ); } catch (e) { // ID doesn't exist, which is fine - this is a compile-time check @@ -30,7 +32,7 @@ describe("Test updateBlock typing", () => { // @ts-expect-error invalid type level: 1, }, - } + }, ); } catch (e) { // ID doesn't exist, which is fine - this is a compile-time check @@ -43,7 +45,7 @@ describe("Test updateBlock typing", () => { props: { level: 1, }, - } + }, ); } catch (e) { // ID doesn't exist, which is fine - this is a compile-time check @@ -57,8 +59,8 @@ describe("Test updateBlock", () => { getEditor().transact((tr) => updateBlock(tr, "heading-with-everything", { id: "new-id", - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); }); @@ -68,8 +70,8 @@ describe("Test updateBlock", () => { getEditor().transact((tr) => updateBlock(tr, "heading-with-everything", { type: "paragraph", - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -82,8 +84,8 @@ describe("Test updateBlock", () => { props: { level: 3, }, - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -99,8 +101,8 @@ describe("Test updateBlock", () => { textAlignment: "right", textColor: "blue", }, - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -113,8 +115,8 @@ describe("Test updateBlock", () => { props: { level: undefined, }, - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -130,8 +132,8 @@ describe("Test updateBlock", () => { textAlignment: undefined, textColor: undefined, }, - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -142,8 +144,8 @@ describe("Test updateBlock", () => { getEditor().transact((tr) => updateBlock(tr, "heading-with-everything", { content: "New content", - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -166,13 +168,169 @@ describe("Test updateBlock", () => { styles: { backgroundColor: "blue" }, }, ], - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); }); + it("Update partial (offset start)", () => { + const info = getBlockInfo( + getNodeById("heading-with-everything", getEditor().prosemirrorState.doc)!, + ); + + if (!info.isBlockContainer) { + throw new Error("heading-with-everything is not a block container"); + } + + getEditor().transact((tr) => + updateBlock( + tr, + "heading-with-everything", + { + content: [ + { + type: "text", + text: "without styles", + styles: {}, + }, + ], + }, + info.blockContent.beforePos + 9, + ), + ); + + expect(getEditor().document).toMatchSnapshot(); + }); + + it("Update partial (offset start + end)", () => { + const info = getBlockInfo( + getNodeById("heading-with-everything", getEditor().prosemirrorState.doc)!, + ); + + if (!info.isBlockContainer) { + throw new Error("heading-with-everything is not a block container"); + } + + getEditor().transact((tr) => + updateBlock( + tr, + "heading-with-everything", + { + content: [ + { + type: "text", + text: "without styles and ", + styles: {}, + }, + ], + }, + info.blockContent.beforePos + 9, + info.blockContent.beforePos + 9, + ), + ); + + expect(getEditor().document).toMatchSnapshot(); + }); + + it("Update partial (props + offset end)", () => { + const info = getBlockInfo( + getNodeById("heading-with-everything", getEditor().prosemirrorState.doc)!, + ); + + if (!info.isBlockContainer) { + throw new Error("heading-with-everything is not a block container"); + } + + getEditor().transact((tr) => { + updateBlock( + tr, + "heading-with-everything", + { + props: { + level: 1, + }, + content: [ + { + type: "text", + text: "Title", + styles: {}, + }, + ], + }, + undefined, + info.blockContent.beforePos + 8, + ); + }); + + expect(getEditor().document).toMatchSnapshot(); + }); + + it("Update partial (table cell)", () => { + const info = getBlockInfo( + getNodeById("table-0", getEditor().prosemirrorState.doc)!, + ); + + if (!info.isBlockContainer) { + throw new Error("table-0 is not a block container"); + } + + const cell = info.blockContent.node.resolve(2); + + getEditor().transact((tr) => + updateBlock( + tr, + "table-0", + { + type: "table", + content: { + type: "tableContent", + rows: [{ cells: ["updated cell 1"] }], + }, + }, + info.blockContent.beforePos + 2, + info.blockContent.beforePos + 2 + cell.node().nodeSize, + ), + ); + + expect(getEditor().document).toMatchSnapshot(); + }); + + it("Update partial (table row)", () => { + const info = getBlockInfo( + getNodeById("table-0", getEditor().prosemirrorState.doc)!, + ); + + if (!info.isBlockContainer) { + throw new Error("table-0 is not a block container"); + } + + const cell = info.blockContent.node.resolve(1); + + getEditor().transact((tr) => + updateBlock( + tr, + "table-0", + { + type: "table", + content: { + type: "tableContent", + rows: [ + { + cells: ["updated cell 1", "updated cell 2", "updated cell 3"], + }, + ], + }, + }, + info.blockContent.beforePos + 1, + info.blockContent.beforePos + 1 + cell.node().nodeSize, + ), + ); + + expect(getEditor().document).toMatchSnapshot(); + }); + it("Update children", () => { expect( getEditor().transact((tr) => @@ -191,8 +349,8 @@ describe("Test updateBlock", () => { ], }, ], - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -236,8 +394,8 @@ describe("Test updateBlock", () => { ], }, ], - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -248,7 +406,7 @@ describe("Test updateBlock", () => { getEditor().transact((tr) => updateBlock(tr, "paragraph-0", { type: "table", - }) + }), ); }).toThrow(); }); @@ -258,8 +416,8 @@ describe("Test updateBlock", () => { getEditor().transact((tr) => updateBlock(tr, "table-0", { type: "paragraph", - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -284,8 +442,8 @@ describe("Test updateBlock", () => { }, ], }, - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -297,8 +455,8 @@ describe("Test updateBlock", () => { updateBlock(tr, "table-0", { type: "paragraph", content: "Paragraph", - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -309,8 +467,8 @@ describe("Test updateBlock", () => { getEditor().transact((tr) => updateBlock(tr, "paragraph-0", { type: "image", - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -321,8 +479,8 @@ describe("Test updateBlock", () => { getEditor().transact((tr) => updateBlock(tr, "image-0", { type: "paragraph", - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -334,8 +492,8 @@ describe("Test updateBlock", () => { updateBlock(tr, "image-0", { type: "paragraph", content: "Paragraph", - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -346,8 +504,8 @@ describe("Test updateBlock", () => { getEditor().transact((tr) => updateBlock(tr, "image-0", { type: "table", - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -399,8 +557,8 @@ describe("Test updateBlock", () => { }, ], }, - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); @@ -411,8 +569,8 @@ describe("Test updateBlock", () => { getEditor().transact((tr) => updateBlock(tr, "table-0", { type: "image", - }) - ) + }), + ), ).toMatchSnapshot(); expect(getEditor().document).toMatchSnapshot(); diff --git a/packages/core/src/api/blockManipulation/commands/updateBlock/updateBlock.ts b/packages/core/src/api/blockManipulation/commands/updateBlock/updateBlock.ts index fbea6739d8..eb662ed0d2 100644 --- a/packages/core/src/api/blockManipulation/commands/updateBlock/updateBlock.ts +++ b/packages/core/src/api/blockManipulation/commands/updateBlock/updateBlock.ts @@ -6,7 +6,7 @@ import { } from "prosemirror-model"; import type { Transaction } from "prosemirror-state"; -import { ReplaceStep } from "prosemirror-transform"; +import { ReplaceStep, Transform } from "prosemirror-transform"; import type { Block, PartialBlock } from "../../../../blocks/defaultBlocks.js"; import type { BlockIdentifier, @@ -28,6 +28,7 @@ import { nodeToBlock } from "../../../nodeConversions/nodeToBlock.js"; import { getNodeById } from "../../../nodeUtil.js"; import { getPmSchema } from "../../../pmUtil.js"; +// for compatibility with tiptap. TODO: remove as we want to remove dependency on tiptap command interface export const updateBlockCommand = < BSchema extends BlockSchema, I extends InlineContentSchema, @@ -50,18 +51,29 @@ export const updateBlockCommand = < }; }; -const updateBlockTr = < +export function updateBlockTr< BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema >( - tr: Transaction, + tr: Transform, posBeforeBlock: number, - block: PartialBlock -) => { + block: PartialBlock, + replaceFromPos?: number, + replaceToPos?: number +) { const blockInfo = getBlockInfoFromResolvedPos(tr.doc.resolve(posBeforeBlock)); const pmSchema = getPmSchema(tr); + + if ( + replaceFromPos !== undefined && + replaceToPos !== undefined && + replaceFromPos > replaceToPos + ) { + throw new Error("Invalid replaceFromPos or replaceToPos"); + } + // Adds blockGroup node with child blocks if necessary. const oldNodeType = pmSchema.nodes[blockInfo.blockNoteType]; @@ -71,10 +83,32 @@ const updateBlockTr = < : pmSchema.nodes["blockContainer"]; if (blockInfo.isBlockContainer && newNodeType.isInGroup("blockContent")) { - updateChildren(block, tr, blockInfo); + const replaceFromOffset = + replaceFromPos !== undefined && + replaceFromPos > blockInfo.blockContent.beforePos && + replaceFromPos < blockInfo.blockContent.afterPos + ? replaceFromPos - blockInfo.blockContent.beforePos - 1 + : undefined; + + const replaceToOffset = + replaceToPos !== undefined && + replaceToPos > blockInfo.blockContent.beforePos && + replaceToPos < blockInfo.blockContent.afterPos + ? replaceToPos - blockInfo.blockContent.beforePos - 1 + : undefined; + + tr = updateChildren(block, tr, blockInfo); // The code below determines the new content of the block. // or "keep" to keep as-is - updateBlockContentNode(block, tr, oldNodeType, newNodeType, blockInfo); + tr = updateBlockContentNode( + block, + tr, + oldNodeType, + newNodeType, + blockInfo, + replaceFromOffset, + replaceToOffset + ); } else if (!blockInfo.isBlockContainer && newNodeType.isInGroup("bnBlock")) { updateChildren(block, tr, blockInfo); // old node was a bnBlock type (like column or columnList) and new block as well @@ -109,7 +143,7 @@ const updateBlockTr = < ...blockInfo.bnBlock.node.attrs, ...block.props, }); -}; +} function updateBlockContentNode< BSchema extends BlockSchema, @@ -117,7 +151,7 @@ function updateBlockContentNode< S extends StyleSchema >( block: PartialBlock, - tr: Transaction, + tr: Transform, oldNodeType: NodeType, newNodeType: NodeType, blockInfo: { @@ -125,7 +159,9 @@ function updateBlockContentNode< | { node: PMNode; beforePos: number; afterPos: number } | undefined; blockContent: { node: PMNode; beforePos: number; afterPos: number }; - } + }, + replaceFromOffset?: number, + replaceToOffset?: number ) { const pmSchema = getPmSchema(tr); let content: PMNode[] | "keep" = "keep"; @@ -172,17 +208,43 @@ function updateBlockContentNode< // content is being replaced or not. if (content === "keep") { // use setNodeMarkup to only update the type and attributes - tr.setNodeMarkup( - blockInfo.blockContent.beforePos, - block.type === undefined ? undefined : pmSchema.nodes[block.type], - { - ...blockInfo.blockContent.node.attrs, - ...block.props, - } + tr.setNodeMarkup(blockInfo.blockContent.beforePos, newNodeType, { + ...blockInfo.blockContent.node.attrs, + ...block.props, + }); + } else if (replaceFromOffset !== undefined || replaceToOffset !== undefined) { + // first update markup of the containing node + tr.setNodeMarkup(blockInfo.blockContent.beforePos, newNodeType, { + ...blockInfo.blockContent.node.attrs, + ...block.props, + }); + + const start = + blockInfo.blockContent.beforePos + 1 + (replaceFromOffset ?? 0); + const end = + blockInfo.blockContent.beforePos + + 1 + + (replaceToOffset ?? blockInfo.blockContent.node.content.size); + + // for content like table cells (where the blockcontent has nested PM nodes), + // we need to figure out the correct openStart and openEnd for the slice when replacing + + const contentDepth = tr.doc.resolve(blockInfo.blockContent.beforePos).depth; + const startDepth = tr.doc.resolve(start).depth; + const endDepth = tr.doc.resolve(end).depth; + + tr.replace( + start, + end, + new Slice( + Fragment.from(content), + startDepth - contentDepth - 1, + endDepth - contentDepth - 1 + ) ); } else { // use replaceWith to replace the content and the block itself - // also reset the selection since replacing the block content + // also reset the selection since replacing the block content // sets it to the next block. tr.replaceWith( blockInfo.blockContent.beforePos, @@ -196,13 +258,14 @@ function updateBlockContentNode< ) ); } + return tr; } function updateChildren< BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema ->(block: PartialBlock, tr: Transaction, blockInfo: BlockInfo) { +>(block: PartialBlock, tr: Transform, blockInfo: BlockInfo) { const pmSchema = getPmSchema(tr); if (block.children !== undefined && block.children.length > 0) { const childNodes = block.children.map((child) => { @@ -232,6 +295,7 @@ function updateChildren< ); } } + return tr; } export function updateBlock< @@ -241,7 +305,9 @@ export function updateBlock< >( tr: Transaction, blockToUpdate: BlockIdentifier, - update: PartialBlock + update: PartialBlock, + replaceFromPos?: number, + replaceToPos?: number ): Block { const id = typeof blockToUpdate === "string" ? blockToUpdate : blockToUpdate.id; @@ -250,7 +316,7 @@ export function updateBlock< throw new Error(`Block with ID ${id} not found`); } - updateBlockTr(tr, posInfo.posBeforeNode, update); + updateBlockTr(tr, posInfo.posBeforeNode, update, replaceFromPos, replaceToPos); const blockContainerNode = tr.doc .resolve(posInfo.posBeforeNode + 1) // TODO: clean? diff --git a/packages/core/src/api/blockManipulation/selections/selection.ts b/packages/core/src/api/blockManipulation/selections/selection.ts index aed087f080..726957b38b 100644 --- a/packages/core/src/api/blockManipulation/selections/selection.ts +++ b/packages/core/src/api/blockManipulation/selections/selection.ts @@ -24,6 +24,20 @@ export function getSelection< if (tr.selection.empty || "node" in tr.selection) { return undefined; } + + // TODO: this function is now the same as below; + // we should consolidate this? (pick the best one, clean tests, etc) + // return { + // blocks: getBlocksBetween( + // editor._tiptapEditor.state.selection.from, + // editor._tiptapEditor.state.selection.to, + // editor._tiptapEditor.state.doc, + // editor.schema.blockSchema, + // editor.schema.inlineContentSchema, + // editor.schema.styleSchema, + // editor.blockCache + // ), + // }; const $startBlockBeforePos = tr.doc.resolve( getNearestBlockPos(tr.doc, tr.selection.from).posBeforeNode diff --git a/packages/core/src/api/exporters/markdown/markdownExporter.ts b/packages/core/src/api/exporters/markdown/markdownExporter.ts index cea05fc413..a805b12105 100644 --- a/packages/core/src/api/exporters/markdown/markdownExporter.ts +++ b/packages/core/src/api/exporters/markdown/markdownExporter.ts @@ -16,7 +16,12 @@ import { addSpacesToCheckboxes } from "./util/addSpacesToCheckboxesRehypePlugin. // Needs to be sync because it's used in drag handler event (SideMenuPlugin) // Ideally, call `await initializeESMDependencies()` before calling this function -export function cleanHTMLToMarkdown(cleanHTMLString: string) { +export function cleanHTMLToMarkdown( + cleanHTMLString: string, + options?: { + keepEmptyParagraphs: boolean; + } +) { const deps = esmDependencies; if (!deps) { @@ -25,6 +30,14 @@ export function cleanHTMLToMarkdown(cleanHTMLString: string) { ); } + if (options?.keepEmptyParagraphs) { + // replace empty paragraphs with [EMPTY-LINE] + // otherwise the unified pipeline will get rid of these + cleanHTMLString = cleanHTMLString.replace( + /

<\/p>/g, + "

[EMPTY-LINE]

" + ); + } const markdownString = deps.unified .unified() .use(deps.rehypeParse.default, { fragment: true }) @@ -37,7 +50,12 @@ export function cleanHTMLToMarkdown(cleanHTMLString: string) { }) .processSync(cleanHTMLString); - return markdownString.value as string; + let ret = markdownString.value as string; + if (options?.keepEmptyParagraphs) { + // remove [EMPTY-LINE] hacks we added earlier + ret = ret.replace(/\n\[EMPTY-LINE\]\n/g, "\n\n"); + } + return ret; } export async function blocksToMarkdown< @@ -54,5 +72,9 @@ export async function blocksToMarkdown< const exporter = createExternalHTMLExporter(schema, editor); const externalHTML = exporter.exportBlocks(blocks, options); - return cleanHTMLToMarkdown(externalHTML); + const ret = cleanHTMLToMarkdown(externalHTML, { + keepEmptyParagraphs: true, + }); + + return ret; } diff --git a/packages/core/src/api/getBlockInfoFromPos.ts b/packages/core/src/api/getBlockInfoFromPos.ts index e071373e23..42dcdfe272 100644 --- a/packages/core/src/api/getBlockInfoFromPos.ts +++ b/packages/core/src/api/getBlockInfoFromPos.ts @@ -126,7 +126,7 @@ export function getBlockInfoWithManualOffset( ): BlockInfo { if (!node.type.isInGroup("bnBlock")) { throw new Error( - `Attempted to get bnBlock node at position but found node of different type ${node.type}` + `Attempted to get bnBlock node at position but found node of different type ${node.type.name}` ); } diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/childToParent.json b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/childToParent.json new file mode 100644 index 0000000000..2b9636e5d4 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/childToParent.json @@ -0,0 +1,44 @@ +{ + "_meta": { + "startPos": 0, + "endPos": 36 + }, + "blocks": [ + { + "id": "0", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "Heading 1", + "styles": {} + } + ], + "children": [ + { + "id": "1", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 1", + "styles": {} + } + ], + "children": [] + } + ] + } + ] +} \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/childrenToNextParent.json b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/childrenToNextParent.json new file mode 100644 index 0000000000..2129441cba --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/childrenToNextParent.json @@ -0,0 +1,77 @@ +{ + "_meta": { + "startPos": 13, + "endPos": 94 + }, + "blocks": [ + { + "id": "1", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 1", + "styles": {} + } + ], + "children": [] + }, + { + "id": "2", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 2", + "styles": {} + } + ], + "children": [] + }, + { + "id": "3", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 3", + "styles": {} + } + ], + "children": [] + }, + { + "id": "4", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "Heading 2", + "styles": {} + } + ], + "children": [] + } + ] +} \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/childrenToNextParentsChildren.json b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/childrenToNextParentsChildren.json new file mode 100644 index 0000000000..cb973e5add --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/childrenToNextParentsChildren.json @@ -0,0 +1,129 @@ +{ + "_meta": { + "startPos": 13, + "endPos": 163 + }, + "blocks": [ + { + "id": "1", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 1", + "styles": {} + } + ], + "children": [] + }, + { + "id": "2", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 2", + "styles": {} + } + ], + "children": [] + }, + { + "id": "3", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 3", + "styles": {} + } + ], + "children": [] + }, + { + "id": "4", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "Heading 2", + "styles": {} + } + ], + "children": [ + { + "id": "5", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 1", + "styles": {} + } + ], + "children": [] + }, + { + "id": "6", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 2", + "styles": {} + } + ], + "children": [] + }, + { + "id": "7", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 3", + "styles": {} + } + ], + "children": [] + } + ] + } + ] +} \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/image.json b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/image.json new file mode 100644 index 0000000000..75dcfb2939 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/image.json @@ -0,0 +1,23 @@ +{ + "_meta": { + "startPos": 183, + "endPos": 186 + }, + "blocks": [ + { + "id": "9", + "type": "image", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "name": "", + "url": "https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg", + "caption": "", + "showPreview": true, + "previewWidth": 512 + }, + "children": [] + } + ], + "blockCutAtEnd": "9" +} \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/move_end.txt b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/move_end.txt new file mode 100644 index 0000000000..8e4408ccdf --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/move_end.txt @@ -0,0 +1,276 @@ +{"_meta":{"startPos":0,"endPos":0},"blocks":[]} +{"_meta":{"startPos":0,"endPos":0},"blocks":[]} +{"_meta":{"startPos":0,"endPos":0},"blocks":[]} +{"_meta":{"startPos":0,"endPos":0},"blocks":[]} +{"_meta":{"startPos":0,"endPos":4},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"H","styles":{}}],"children":[]}],"blockCutAtEnd":"0"} +{"_meta":{"startPos":0,"endPos":5},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"He","styles":{}}],"children":[]}],"blockCutAtEnd":"0"} +{"_meta":{"startPos":0,"endPos":6},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Hea","styles":{}}],"children":[]}],"blockCutAtEnd":"0"} +{"_meta":{"startPos":0,"endPos":7},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Head","styles":{}}],"children":[]}],"blockCutAtEnd":"0"} +{"_meta":{"startPos":0,"endPos":8},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Headi","styles":{}}],"children":[]}],"blockCutAtEnd":"0"} +{"_meta":{"startPos":0,"endPos":9},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Headin","styles":{}}],"children":[]}],"blockCutAtEnd":"0"} +{"_meta":{"startPos":0,"endPos":10},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading","styles":{}}],"children":[]}],"blockCutAtEnd":"0"} +{"_meta":{"startPos":0,"endPos":11},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading ","styles":{}}],"children":[]}],"blockCutAtEnd":"0"} +{"_meta":{"startPos":0,"endPos":13},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[]}]} +{"_meta":{"startPos":0,"endPos":13},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[]}]} +{"_meta":{"startPos":0,"endPos":13},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[]}]} +{"_meta":{"startPos":0,"endPos":13},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[]}]} +{"_meta":{"startPos":0,"endPos":13},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[]}]} +{"_meta":{"startPos":0,"endPos":17},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":18},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":19},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":20},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":21},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":22},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":23},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested ","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":24},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":25},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":26},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":27},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":28},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":29},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":30},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":31},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":32},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":33},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph ","styles":{}}],"children":[]}]}],"blockCutAtEnd":"1"} +{"_meta":{"startPos":0,"endPos":36},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":36},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":36},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":36},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":36},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":39},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":40},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":41},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":42},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":43},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":44},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":45},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested ","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":46},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":47},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":48},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":49},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":50},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":51},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":52},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":53},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":54},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":55},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph ","styles":{}}],"children":[]}]}],"blockCutAtEnd":"2"} +{"_meta":{"startPos":0,"endPos":58},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":58},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":58},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":58},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":58},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":61},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":62},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":63},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":64},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":65},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":66},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":67},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested ","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":68},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":69},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":70},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":71},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":72},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":73},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":74},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":75},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":76},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":77},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph ","styles":{}}],"children":[]}]}],"blockCutAtEnd":"3"} +{"_meta":{"startPos":0,"endPos":82},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":82},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":82},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":82},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":82},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":82},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":82},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":85},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"H","styles":{}}],"children":[]}],"blockCutAtEnd":"4"} +{"_meta":{"startPos":0,"endPos":86},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"He","styles":{}}],"children":[]}],"blockCutAtEnd":"4"} +{"_meta":{"startPos":0,"endPos":87},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Hea","styles":{}}],"children":[]}],"blockCutAtEnd":"4"} +{"_meta":{"startPos":0,"endPos":88},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Head","styles":{}}],"children":[]}],"blockCutAtEnd":"4"} +{"_meta":{"startPos":0,"endPos":89},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Headi","styles":{}}],"children":[]}],"blockCutAtEnd":"4"} +{"_meta":{"startPos":0,"endPos":90},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Headin","styles":{}}],"children":[]}],"blockCutAtEnd":"4"} +{"_meta":{"startPos":0,"endPos":91},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading","styles":{}}],"children":[]}],"blockCutAtEnd":"4"} +{"_meta":{"startPos":0,"endPos":92},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading ","styles":{}}],"children":[]}],"blockCutAtEnd":"4"} +{"_meta":{"startPos":0,"endPos":94},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[]}]} +{"_meta":{"startPos":0,"endPos":94},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[]}]} +{"_meta":{"startPos":0,"endPos":94},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[]}]} +{"_meta":{"startPos":0,"endPos":94},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[]}]} +{"_meta":{"startPos":0,"endPos":94},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[]}]} +{"_meta":{"startPos":0,"endPos":98},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":99},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":100},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":101},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":102},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":103},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":104},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested ","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":105},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":106},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":107},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":108},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":109},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":110},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":111},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":112},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":113},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":114},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph ","styles":{}}],"children":[]}]}],"blockCutAtEnd":"5"} +{"_meta":{"startPos":0,"endPos":117},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":117},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":117},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":117},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":117},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":120},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":121},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":122},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":123},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":124},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":125},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":126},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested ","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":127},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":128},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":129},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":130},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":131},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":132},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":133},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":134},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":135},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":136},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph ","styles":{}}],"children":[]}]}],"blockCutAtEnd":"6"} +{"_meta":{"startPos":0,"endPos":139},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":139},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":139},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":139},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":139},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":142},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":143},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":144},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":145},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":146},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":147},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":148},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested ","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":149},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":150},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":151},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":152},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":153},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":154},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":155},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":156},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":157},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":158},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph ","styles":{}}],"children":[]}]}],"blockCutAtEnd":"7"} +{"_meta":{"startPos":0,"endPos":163},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":163},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":163},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":163},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":163},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":163},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":163},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}]} +{"_meta":{"startPos":0,"endPos":166},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"B","styles":{"bold":true}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":167},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bo","styles":{"bold":true}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":168},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bol","styles":{"bold":true}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":169},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":170},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"I","styles":{"italic":true}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":171},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"It","styles":{"italic":true}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":172},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Ita","styles":{"italic":true}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":173},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Ital","styles":{"italic":true}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":174},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Itali","styles":{"italic":true}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":175},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":176},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"R","styles":{}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":177},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Re","styles":{}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":178},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Reg","styles":{}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":179},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regu","styles":{}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":180},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regul","styles":{}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":181},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regula","styles":{}}],"children":[]}],"blockCutAtEnd":"8"} +{"_meta":{"startPos":0,"endPos":183},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[]}]} +{"_meta":{"startPos":0,"endPos":183},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[]}]} +{"_meta":{"startPos":0,"endPos":183},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[]}]} +{"_meta":{"startPos":0,"endPos":183},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[]}]} +{"_meta":{"startPos":0,"endPos":186},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[]}]}],"blockCutAtEnd":"9"} +{"_meta":{"startPos":0,"endPos":186},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[]}]}],"blockCutAtEnd":"9"} +{"_meta":{"startPos":0,"endPos":186},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[]}]}],"blockCutAtEnd":"9"} +{"_meta":{"startPos":0,"endPos":186},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[]}]}],"blockCutAtEnd":"9"} +{"_meta":{"startPos":0,"endPos":190},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N","styles":{}}],"children":[]}]}]}],"blockCutAtEnd":"10"} +{"_meta":{"startPos":0,"endPos":191},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne","styles":{}}],"children":[]}]}]}],"blockCutAtEnd":"10"} +{"_meta":{"startPos":0,"endPos":192},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes","styles":{}}],"children":[]}]}]}],"blockCutAtEnd":"10"} +{"_meta":{"startPos":0,"endPos":193},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest","styles":{}}],"children":[]}]}]}],"blockCutAtEnd":"10"} +{"_meta":{"startPos":0,"endPos":194},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste","styles":{}}],"children":[]}]}]}],"blockCutAtEnd":"10"} +{"_meta":{"startPos":0,"endPos":195},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested","styles":{}}],"children":[]}]}]}],"blockCutAtEnd":"10"} +{"_meta":{"startPos":0,"endPos":196},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested ","styles":{}}],"children":[]}]}]}],"blockCutAtEnd":"10"} +{"_meta":{"startPos":0,"endPos":197},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P","styles":{}}],"children":[]}]}]}],"blockCutAtEnd":"10"} +{"_meta":{"startPos":0,"endPos":198},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa","styles":{}}],"children":[]}]}]}],"blockCutAtEnd":"10"} +{"_meta":{"startPos":0,"endPos":199},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par","styles":{}}],"children":[]}]}]}],"blockCutAtEnd":"10"} +{"_meta":{"startPos":0,"endPos":200},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para","styles":{}}],"children":[]}]}]}],"blockCutAtEnd":"10"} +{"_meta":{"startPos":0,"endPos":201},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag","styles":{}}],"children":[]}]}]}],"blockCutAtEnd":"10"} +{"_meta":{"startPos":0,"endPos":202},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr","styles":{}}],"children":[]}]}]}],"blockCutAtEnd":"10"} +{"_meta":{"startPos":0,"endPos":203},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra","styles":{}}],"children":[]}]}]}],"blockCutAtEnd":"10"} +{"_meta":{"startPos":0,"endPos":204},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap","styles":{}}],"children":[]}]}]}],"blockCutAtEnd":"10"} +{"_meta":{"startPos":0,"endPos":211},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}]} +{"_meta":{"startPos":0,"endPos":211},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}]} +{"_meta":{"startPos":0,"endPos":211},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}]} +{"_meta":{"startPos":0,"endPos":211},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}]} +{"_meta":{"startPos":0,"endPos":211},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}]} +{"_meta":{"startPos":0,"endPos":211},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}]} +{"_meta":{"startPos":0,"endPos":211},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}]} +{"_meta":{"startPos":0,"endPos":211},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}]} +{"_meta":{"startPos":0,"endPos":211},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}]} +{"_meta":{"startPos":0,"endPos":211},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}]} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":217},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"T","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":218},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Ta","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":219},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Tab","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":220},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Tabl","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":221},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":222},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table ","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":223},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table C","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":224},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Ce","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":225},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cel","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":228},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":228},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":228},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":231},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"T","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":232},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Ta","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":233},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Tab","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":234},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Tabl","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":235},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":236},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table ","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":237},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table C","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":238},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Ce","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":239},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cel","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":243},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":243},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":243},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":243},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":243},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":247},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"T","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":248},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Ta","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":249},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Tab","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":250},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Tabl","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":251},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":252},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table ","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":253},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table C","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":254},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Ce","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":255},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cel","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":258},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":258},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":258},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":261},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"T","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":262},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Ta","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":263},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Tab","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":264},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Tabl","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":265},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":266},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table ","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":267},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table C","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":268},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Ce","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":269},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cel","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtEnd":"11"} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/move_start.txt b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/move_start.txt new file mode 100644 index 0000000000..fd602ba83b --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/move_start.txt @@ -0,0 +1,276 @@ +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":0,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":4,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"eading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"0"} +{"_meta":{"startPos":5,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"ading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"0"} +{"_meta":{"startPos":6,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"ding 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"0"} +{"_meta":{"startPos":7,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"ing 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"0"} +{"_meta":{"startPos":8,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"ng 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"0"} +{"_meta":{"startPos":9,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"g 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"0"} +{"_meta":{"startPos":10,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":" 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"0"} +{"_meta":{"startPos":11,"endPos":276},"blocks":[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"0"} +{"_meta":{"startPos":13,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":13,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":13,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":13,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":13,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":17,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":18,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"sted Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":19,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ted Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":20,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ed Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":21,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"d Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":22,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":" Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":23,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":24,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"aragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":25,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":26,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"agraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":27,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"graph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":28,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"raph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":29,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"aph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":30,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":31,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"h 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":32,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":" 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":33,"endPos":276},"blocks":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"1"} +{"_meta":{"startPos":36,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":36,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":36,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":36,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":36,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":39,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":40,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"sted Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":41,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ted Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":42,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ed Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":43,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"d Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":44,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":" Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":45,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":46,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"aragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":47,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":48,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"agraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":49,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"graph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":50,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"raph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":51,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"aph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":52,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":53,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"h 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":54,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":" 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":55,"endPos":276},"blocks":[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"2"} +{"_meta":{"startPos":58,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":58,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":58,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":58,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":58,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":61,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":62,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"sted Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":63,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ted Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":64,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ed Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":65,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"d Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":66,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":" Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":67,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":68,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"aragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":69,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":70,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"agraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":71,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"graph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":72,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"raph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":73,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"aph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":74,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":75,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"h 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":76,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":" 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":77,"endPos":276},"blocks":[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"3"} +{"_meta":{"startPos":82,"endPos":276},"blocks":[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":82,"endPos":276},"blocks":[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":82,"endPos":276},"blocks":[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":82,"endPos":276},"blocks":[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":82,"endPos":276},"blocks":[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":82,"endPos":276},"blocks":[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":82,"endPos":276},"blocks":[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":85,"endPos":276},"blocks":[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"eading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"4"} +{"_meta":{"startPos":86,"endPos":276},"blocks":[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"ading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"4"} +{"_meta":{"startPos":87,"endPos":276},"blocks":[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"ding 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"4"} +{"_meta":{"startPos":88,"endPos":276},"blocks":[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"ing 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"4"} +{"_meta":{"startPos":89,"endPos":276},"blocks":[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"ng 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"4"} +{"_meta":{"startPos":90,"endPos":276},"blocks":[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"g 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"4"} +{"_meta":{"startPos":91,"endPos":276},"blocks":[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":" 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"4"} +{"_meta":{"startPos":92,"endPos":276},"blocks":[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"4"} +{"_meta":{"startPos":94,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":94,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":94,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":94,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":94,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":98,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":99,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"sted Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":100,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ted Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":101,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ed Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":102,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"d Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":103,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":" Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":104,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":105,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"aragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":106,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":107,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"agraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":108,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"graph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":109,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"raph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":110,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"aph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":111,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":112,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"h 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":113,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":" 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":114,"endPos":276},"blocks":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"5"} +{"_meta":{"startPos":117,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":117,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":117,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":117,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":117,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":120,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":121,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"sted Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":122,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ted Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":123,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ed Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":124,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"d Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":125,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":" Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":126,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":127,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"aragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":128,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":129,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"agraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":130,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"graph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":131,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"raph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":132,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"aph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":133,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":134,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"h 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":135,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":" 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":136,"endPos":276},"blocks":[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"6"} +{"_meta":{"startPos":139,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":139,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":139,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":139,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":139,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":142,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":143,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"sted Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":144,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ted Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":145,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ed Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":146,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"d Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":147,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":" Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":148,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":149,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"aragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":150,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":151,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"agraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":152,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"graph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":153,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"raph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":154,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"aph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":155,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":156,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"h 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":157,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":" 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":158,"endPos":276},"blocks":[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"7"} +{"_meta":{"startPos":163,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":163,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":163,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":163,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":163,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":163,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":163,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":166,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"old","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":167,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"ld","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":168,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"d","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":169,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":170,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"talic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":171,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"alic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":172,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"lic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":173,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"ic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":174,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"c","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":175,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":176,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"egular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":177,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"gular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":178,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"ular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":179,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"lar","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":180,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"ar","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":181,"endPos":276},"blocks":[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"r","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"8"} +{"_meta":{"startPos":183,"endPos":276},"blocks":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":183,"endPos":276},"blocks":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":183,"endPos":276},"blocks":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":183,"endPos":276},"blocks":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":186,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":186,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":186,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":186,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":190,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ested Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"10"} +{"_meta":{"startPos":191,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"sted Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"10"} +{"_meta":{"startPos":192,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ted Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"10"} +{"_meta":{"startPos":193,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ed Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"10"} +{"_meta":{"startPos":194,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"d Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"10"} +{"_meta":{"startPos":195,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":" Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"10"} +{"_meta":{"startPos":196,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"10"} +{"_meta":{"startPos":197,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"aragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"10"} +{"_meta":{"startPos":198,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"10"} +{"_meta":{"startPos":199,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"agraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"10"} +{"_meta":{"startPos":200,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"graph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"10"} +{"_meta":{"startPos":201,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"raph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"10"} +{"_meta":{"startPos":202,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"aph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"10"} +{"_meta":{"startPos":203,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"ph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"10"} +{"_meta":{"startPos":204,"endPos":276},"blocks":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"h","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"10"} +{"_meta":{"startPos":211,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":211,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":211,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":211,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":211,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":211,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":211,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":211,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":211,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":211,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":211,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":211,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}]} +{"_meta":{"startPos":217,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"able Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":218,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"ble Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":219,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"le Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":220,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"e Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":221,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":" Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":222,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":223,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"ell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":224,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"ll","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":225,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"l","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":228,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":228,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":228,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":228,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":228,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":231,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"able Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":232,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"ble Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":233,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"le Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":234,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"e Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":235,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":" Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":236,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":237,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"ell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":238,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"ll","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":239,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"l","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":243,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":243,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":243,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":243,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":243,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":243,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":243,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":247,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"able Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":248,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"ble Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":249,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"le Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":250,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"e Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":251,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":" Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":252,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":253,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"ell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":254,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"ll","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":255,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"l","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":258,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":258,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":258,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":258,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":258,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":261,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"able Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":262,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"ble Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":263,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"le Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":264,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"e Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":265,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":" Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":266,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":267,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"ell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":268,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"ll","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":269,"endPos":276},"blocks":[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"l","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}],"blockCutAtStart":"11"} +{"_meta":{"startPos":276,"endPos":276},"blocks":[]} +{"_meta":{"startPos":276,"endPos":276},"blocks":[]} +{"_meta":{"startPos":276,"endPos":276},"blocks":[]} +{"_meta":{"startPos":276,"endPos":276},"blocks":[]} +{"_meta":{"startPos":276,"endPos":276},"blocks":[]} +{"_meta":{"startPos":276,"endPos":276},"blocks":[]} diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/multipleChildren.json b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/multipleChildren.json new file mode 100644 index 0000000000..42df360b3e --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/multipleChildren.json @@ -0,0 +1,59 @@ +{ + "_meta": { + "startPos": 13, + "endPos": 82 + }, + "blocks": [ + { + "id": "1", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 1", + "styles": {} + } + ], + "children": [] + }, + { + "id": "2", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 2", + "styles": {} + } + ], + "children": [] + }, + { + "id": "3", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 3", + "styles": {} + } + ], + "children": [] + } + ] +} \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/multipleStyledText.json b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/multipleStyledText.json new file mode 100644 index 0000000000..97631d6bcb --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/multipleStyledText.json @@ -0,0 +1,40 @@ +{ + "_meta": { + "startPos": 163, + "endPos": 183 + }, + "blocks": [ + { + "id": "8", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "Bold", + "styles": { + "bold": true + } + }, + { + "type": "text", + "text": "Italic", + "styles": { + "italic": true + } + }, + { + "type": "text", + "text": "Regular", + "styles": {} + } + ], + "children": [] + } + ] +} \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/nestedImage.json b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/nestedImage.json new file mode 100644 index 0000000000..aebbd26a2c --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/nestedImage.json @@ -0,0 +1,73 @@ +{ + "_meta": { + "startPos": 163, + "endPos": 211 + }, + "blocks": [ + { + "id": "8", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "Bold", + "styles": { + "bold": true + } + }, + { + "type": "text", + "text": "Italic", + "styles": { + "italic": true + } + }, + { + "type": "text", + "text": "Regular", + "styles": {} + } + ], + "children": [ + { + "id": "9", + "type": "image", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "name": "", + "url": "https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg", + "caption": "", + "showPreview": true, + "previewWidth": 512 + }, + "children": [ + { + "id": "10", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph", + "styles": {} + } + ], + "children": [] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/partialChildToParent.json b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/partialChildToParent.json new file mode 100644 index 0000000000..6f153d8c12 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/partialChildToParent.json @@ -0,0 +1,46 @@ +{ + "_meta": { + "startPos": 6, + "endPos": 23 + }, + "blocks": [ + { + "id": "0", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "ding 1", + "styles": {} + } + ], + "children": [ + { + "id": "1", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested ", + "styles": {} + } + ], + "children": [] + } + ] + } + ], + "blockCutAtStart": "0", + "blockCutAtEnd": "1" +} \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/styledText.json b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/styledText.json new file mode 100644 index 0000000000..1371b747f6 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/styledText.json @@ -0,0 +1,30 @@ +{ + "_meta": { + "startPos": 169, + "endPos": 175 + }, + "blocks": [ + { + "id": "8", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "Italic", + "styles": { + "italic": true + } + } + ], + "children": [] + } + ], + "blockCutAtStart": "8", + "blockCutAtEnd": "8" +} \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/tableAllCells.json b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/tableAllCells.json new file mode 100644 index 0000000000..5d5a311de5 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/tableAllCells.json @@ -0,0 +1,46 @@ +{ + "_meta": { + "startPos": 258, + "endPos": 276 + }, + "blocks": [ + { + "id": "11", + "type": "table", + "props": { + "textColor": "default" + }, + "content": { + "type": "tableContent", + "columnWidths": [ + null + ], + "rows": [ + { + "cells": [ + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + } + ] + } + ] + }, + "children": [] + } + ], + "blockCutAtStart": "11" +} \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/tableCell.json b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/tableCell.json new file mode 100644 index 0000000000..882f7fb4fd --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/tableCell.json @@ -0,0 +1,46 @@ +{ + "_meta": { + "startPos": 211, + "endPos": 228 + }, + "blocks": [ + { + "id": "11", + "type": "table", + "props": { + "textColor": "default" + }, + "content": { + "type": "tableContent", + "columnWidths": [ + null + ], + "rows": [ + { + "cells": [ + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + } + ] + } + ] + }, + "children": [] + } + ], + "blockCutAtEnd": "11" +} \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/tableCellText.json b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/tableCellText.json new file mode 100644 index 0000000000..882f7fb4fd --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/tableCellText.json @@ -0,0 +1,46 @@ +{ + "_meta": { + "startPos": 211, + "endPos": 228 + }, + "blocks": [ + { + "id": "11", + "type": "table", + "props": { + "textColor": "default" + }, + "content": { + "type": "tableContent", + "columnWidths": [ + null + ], + "rows": [ + { + "cells": [ + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + } + ] + } + ] + }, + "children": [] + } + ], + "blockCutAtEnd": "11" +} \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/tableRow.json b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/tableRow.json new file mode 100644 index 0000000000..bd1a2cf575 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/tableRow.json @@ -0,0 +1,47 @@ +{ + "_meta": { + "startPos": 228, + "endPos": 243 + }, + "blocks": [ + { + "id": "11", + "type": "table", + "props": { + "textColor": "default" + }, + "content": { + "type": "tableContent", + "columnWidths": [ + null + ], + "rows": [ + { + "cells": [ + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + } + ] + } + ] + }, + "children": [] + } + ], + "blockCutAtStart": "11", + "blockCutAtEnd": "11" +} \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_json__/unstyledText.json b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/unstyledText.json new file mode 100644 index 0000000000..051732b6ee --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_json__/unstyledText.json @@ -0,0 +1,27 @@ +{ + "_meta": { + "startPos": 175, + "endPos": 183 + }, + "blocks": [ + { + "id": "8", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "Regular", + "styles": {} + } + ], + "children": [] + } + ], + "blockCutAtStart": "8" +} \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/childToParent.json b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/childToParent.json new file mode 100644 index 0000000000..5386baa8bb --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/childToParent.json @@ -0,0 +1,38 @@ +[ + { + "id": "0", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "[$!Heading 1", + "styles": {} + } + ], + "children": [ + { + "id": "1", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 1!$]", + "styles": {} + } + ], + "children": [] + } + ] + } +] \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/childrenToNextParent.json b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/childrenToNextParent.json new file mode 100644 index 0000000000..439c3f3733 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/childrenToNextParent.json @@ -0,0 +1,123 @@ +[ + { + "id": "1", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "[$!Nested Paragraph 1", + "styles": {} + } + ], + "children": [] + }, + { + "id": "2", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 2", + "styles": {} + } + ], + "children": [] + }, + { + "id": "3", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 3", + "styles": {} + } + ], + "children": [] + }, + { + "id": "4", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "Heading 2!$]", + "styles": {} + } + ], + "children": [ + { + "id": "5", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 1", + "styles": {} + } + ], + "children": [] + }, + { + "id": "6", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 2", + "styles": {} + } + ], + "children": [] + }, + { + "id": "7", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 3", + "styles": {} + } + ], + "children": [] + } + ] + } +] \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/childrenToNextParentsChildren.json b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/childrenToNextParentsChildren.json new file mode 100644 index 0000000000..0b3f6b2b2e --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/childrenToNextParentsChildren.json @@ -0,0 +1,123 @@ +[ + { + "id": "1", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "[$!Nested Paragraph 1", + "styles": {} + } + ], + "children": [] + }, + { + "id": "2", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 2", + "styles": {} + } + ], + "children": [] + }, + { + "id": "3", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 3", + "styles": {} + } + ], + "children": [] + }, + { + "id": "4", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "Heading 2", + "styles": {} + } + ], + "children": [ + { + "id": "5", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 1", + "styles": {} + } + ], + "children": [] + }, + { + "id": "6", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 2", + "styles": {} + } + ], + "children": [] + }, + { + "id": "7", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 3!$]", + "styles": {} + } + ], + "children": [] + } + ] + } +] \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/image.json b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/image.json new file mode 100644 index 0000000000..3d321c0321 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/image.json @@ -0,0 +1,80 @@ +[ + { + "id": "9", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "[$!", + "styles": {} + } + ], + "children": [] + }, + { + "id": "9", + "type": "image", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "name": "", + "url": "https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg", + "caption": "", + "showPreview": true, + "previewWidth": 512 + }, + "children": [ + { + "id": "1", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "!$]", + "styles": {} + } + ], + "children": [] + } + ] + }, + { + "id": "9", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [], + "children": [ + { + "id": "10", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph", + "styles": {} + } + ], + "children": [] + } + ] + } +] \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/move_end.txt b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/move_end.txt new file mode 100644 index 0000000000..51c4124ae0 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/move_end.txt @@ -0,0 +1,212 @@ +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!H!$]eading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!He!$]ading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Hea!$]ding 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Head!$]ing 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Headi!$]ng 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Headin!$]g 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading!$] 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading !$]1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1!$]","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"!$]Nested Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N!$]ested Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne!$]sted Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes!$]ted Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest!$]ed Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste!$]d Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested!$] Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested !$]Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P!$]aragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa!$]ragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par!$]agraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para!$]graph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag!$]raph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr!$]aph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra!$]ph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap!$]h 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph!$] 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph !$]1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1!$]","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"!$]Nested Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N!$]ested Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne!$]sted Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes!$]ted Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest!$]ed Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste!$]d Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested!$] Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested !$]Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P!$]aragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa!$]ragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par!$]agraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para!$]graph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag!$]raph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr!$]aph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra!$]ph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap!$]h 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph!$] 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph !$]2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2!$]","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"!$]Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N!$]ested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne!$]sted Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes!$]ted Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest!$]ed Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste!$]d Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested!$] Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested !$]Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P!$]aragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa!$]ragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par!$]agraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para!$]graph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag!$]raph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr!$]aph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra!$]ph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap!$]h 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph!$] 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph !$]3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3!$]","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"!$]Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"H!$]eading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"He!$]ading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Hea!$]ding 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Head!$]ing 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Headi!$]ng 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Headin!$]g 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading!$] 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading !$]2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2!$]","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"!$]Nested Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N!$]ested Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne!$]sted Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes!$]ted Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest!$]ed Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste!$]d Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested!$] Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested !$]Paragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P!$]aragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa!$]ragraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par!$]agraph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para!$]graph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag!$]raph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr!$]aph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra!$]ph 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap!$]h 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph!$] 1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph !$]1","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1!$]","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"!$]Nested Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N!$]ested Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne!$]sted Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes!$]ted Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest!$]ed Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste!$]d Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested!$] Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested !$]Paragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P!$]aragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa!$]ragraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par!$]agraph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para!$]graph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag!$]raph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr!$]aph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra!$]ph 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap!$]h 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph!$] 2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph !$]2","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2!$]","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"!$]Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N!$]ested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne!$]sted Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes!$]ted Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest!$]ed Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste!$]d Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested!$] Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested !$]Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P!$]aragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa!$]ragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par!$]agraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para!$]graph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag!$]raph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr!$]aph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra!$]ph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap!$]h 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph!$] 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph !$]3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3!$]","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"!$]Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"B!$]old","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bo!$]ld","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bol!$]d","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold!$]","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"I!$]talic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"It!$]alic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Ita!$]lic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Ital!$]ic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Itali!$]c","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic!$]","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"R!$]egular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Re!$]gular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Reg!$]ular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regu!$]lar","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regul!$]ar","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regula!$]r","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular!$]","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"!$]Nested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N!$]ested Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne!$]sted Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes!$]ted Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest!$]ed Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste!$]d Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested!$] Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested !$]Paragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P!$]aragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa!$]ragraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par!$]agraph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para!$]graph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag!$]raph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr!$]aph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra!$]ph","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap!$]h","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph!$]","styles":{}}],"children":[]}]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1!$]","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"T!$]able Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Ta!$]ble Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Tab!$]le Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Tabl!$]e Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table!$] Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table !$]Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table C!$]ell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Ce!$]ll","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cel!$]l","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1!$]","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"T!$]able Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Ta!$]ble Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Tab!$]le Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Tabl!$]e Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table!$] Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table !$]Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table C!$]ell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Ce!$]ll","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cel!$]l","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1!$]","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"T!$]able Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Ta!$]ble Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Tab!$]le Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Tabl!$]e Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table!$] Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table !$]Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table C!$]ell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Ce!$]ll","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cel!$]l","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1!$]","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"T!$]able Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Ta!$]ble Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Tab!$]le Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Tabl!$]e Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table!$] Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table !$]Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table C!$]ell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Ce!$]ll","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cel!$]l","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/move_start.txt b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/move_start.txt new file mode 100644 index 0000000000..08263c7887 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/move_start.txt @@ -0,0 +1,212 @@ +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"H[$!eading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"He[$!ading 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Hea[$!ding 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Head[$!ing 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Headi[$!ng 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Headin[$!g 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading[$! 1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading [$!1","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"0","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 1[$!","styles":{}}],"children":[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"[$!Nested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N[$!ested Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne[$!sted Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes[$!ted Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest[$!ed Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste[$!d Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested[$! Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested [$!Paragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P[$!aragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa[$!ragraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par[$!agraph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para[$!graph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag[$!raph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr[$!aph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra[$!ph 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap[$!h 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph[$! 1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph [$!1","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"1","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1[$!","styles":{}}],"children":[]},{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"[$!Nested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N[$!ested Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne[$!sted Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes[$!ted Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest[$!ed Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste[$!d Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested[$! Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested [$!Paragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P[$!aragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa[$!ragraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par[$!agraph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para[$!graph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag[$!raph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr[$!aph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra[$!ph 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap[$!h 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph[$! 2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph [$!2","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"2","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2[$!","styles":{}}],"children":[]},{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"[$!Nested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N[$!ested Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne[$!sted Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes[$!ted Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest[$!ed Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste[$!d Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested[$! Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested [$!Paragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P[$!aragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa[$!ragraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par[$!agraph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para[$!graph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag[$!raph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr[$!aph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra[$!ph 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap[$!h 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph[$! 3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph [$!3","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"3","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3[$!","styles":{}}],"children":[]},{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Heading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"H[$!eading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"He[$!ading 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Hea[$!ding 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Head[$!ing 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Headi[$!ng 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Headin[$!g 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading[$! 2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading [$!2","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"4","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Heading 2[$!","styles":{}}],"children":[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]}]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"[$!Nested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N[$!ested Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne[$!sted Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes[$!ted Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest[$!ed Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste[$!d Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested[$! Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested [$!Paragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P[$!aragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa[$!ragraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par[$!agraph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para[$!graph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag[$!raph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr[$!aph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra[$!ph 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap[$!h 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph[$! 1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph [$!1","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"5","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 1[$!","styles":{}}],"children":[]},{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"[$!Nested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N[$!ested Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne[$!sted Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes[$!ted Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest[$!ed Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste[$!d Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested[$! Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested [$!Paragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P[$!aragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa[$!ragraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par[$!agraph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para[$!graph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag[$!raph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr[$!aph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra[$!ph 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap[$!h 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph[$! 2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph [$!2","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"6","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 2[$!","styles":{}}],"children":[]},{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"[$!Nested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N[$!ested Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne[$!sted Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes[$!ted Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest[$!ed Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste[$!d Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested[$! Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested [$!Paragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P[$!aragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa[$!ragraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par[$!agraph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para[$!graph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag[$!raph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr[$!aph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra[$!ph 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap[$!h 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph[$! 3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph [$!3","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"7","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph 3[$!","styles":{}}],"children":[]},{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"[$!Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"B[$!old","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bo[$!ld","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bol[$!d","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold[$!","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"I[$!talic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"It[$!alic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Ita[$!lic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Ital[$!ic","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Itali[$!c","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic[$!","styles":{"italic":true}},{"type":"text","text":"Regular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"R[$!egular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Re[$!gular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Reg[$!ular","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regu[$!lar","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regul[$!ar","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regula[$!r","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"8","type":"heading","props":{"textColor":"red","backgroundColor":"default","textAlignment":"left","level":2},"content":[{"type":"text","text":"Bold","styles":{"bold":true}},{"type":"text","text":"Italic","styles":{"italic":true}},{"type":"text","text":"Regular[$!","styles":{}}],"children":[{"id":"9","type":"image","props":{"backgroundColor":"default","textAlignment":"left","name":"","url":"https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg","caption":"","showPreview":true,"previewWidth":512},"children":[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph","styles":{}}],"children":[]}]}]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"[$!Nested Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"N[$!ested Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Ne[$!sted Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nes[$!ted Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nest[$!ed Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Neste[$!d Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested[$! Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested [$!Paragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested P[$!aragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Pa[$!ragraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Par[$!agraph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Para[$!graph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Parag[$!raph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragr[$!aph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragra[$!ph","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragrap[$!h","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"10","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"Nested Paragraph[$!","styles":{}}],"children":[]},{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"[$!Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"T[$!able Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Ta[$!ble Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Tab[$!le Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Tabl[$!e Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table[$! Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table [$!Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table C[$!ell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Ce[$!ll","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cel[$!l","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell[$!","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"[$!Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"T[$!able Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Ta[$!ble Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Tab[$!le Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Tabl[$!e Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table[$! Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table [$!Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table C[$!ell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Ce[$!ll","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cel[$!l","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell[$!","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"[$!Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"T[$!able Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Ta[$!ble Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Tab[$!le Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Tabl[$!e Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table[$! Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table [$!Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table C[$!ell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Ce[$!ll","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cel[$!l","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell[$!","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"[$!Table Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"T[$!able Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Ta[$!ble Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Tab[$!le Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Tabl[$!e Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table[$! Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table [$!Cell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table C[$!ell!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Ce[$!ll!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] +[{"id":"11","type":"table","props":{"textColor":"default"},"content":{"type":"tableContent","columnWidths":[null,null],"rows":[{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]},{"cells":[{"type":"tableCell","content":[{"type":"text","text":"Table Cell","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}},{"type":"tableCell","content":[{"type":"text","text":"Table Cel[$!l!$]","styles":{}}],"props":{"colspan":1,"rowspan":1,"backgroundColor":"default","textColor":"default","textAlignment":"left"}}]}]},"children":[]}] diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/multipleChildren.json b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/multipleChildren.json new file mode 100644 index 0000000000..0474de6ac2 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/multipleChildren.json @@ -0,0 +1,53 @@ +[ + { + "id": "1", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "[$!Nested Paragraph 1", + "styles": {} + } + ], + "children": [] + }, + { + "id": "2", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 2", + "styles": {} + } + ], + "children": [] + }, + { + "id": "3", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph 3!$]", + "styles": {} + } + ], + "children": [] + } +] \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/multipleStyledText.json b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/multipleStyledText.json new file mode 100644 index 0000000000..79fade4aad --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/multipleStyledText.json @@ -0,0 +1,67 @@ +[ + { + "id": "8", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "[$!Bold", + "styles": { + "bold": true + } + }, + { + "type": "text", + "text": "Italic", + "styles": { + "italic": true + } + }, + { + "type": "text", + "text": "Regular!$]", + "styles": {} + } + ], + "children": [ + { + "id": "9", + "type": "image", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "name": "", + "url": "https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg", + "caption": "", + "showPreview": true, + "previewWidth": 512 + }, + "children": [ + { + "id": "10", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph", + "styles": {} + } + ], + "children": [] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/nestedImage.json b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/nestedImage.json new file mode 100644 index 0000000000..7caba1239c --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/nestedImage.json @@ -0,0 +1,67 @@ +[ + { + "id": "8", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "[$!Bold", + "styles": { + "bold": true + } + }, + { + "type": "text", + "text": "Italic", + "styles": { + "italic": true + } + }, + { + "type": "text", + "text": "Regular", + "styles": {} + } + ], + "children": [ + { + "id": "9", + "type": "image", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "name": "", + "url": "https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg", + "caption": "", + "showPreview": true, + "previewWidth": 512 + }, + "children": [ + { + "id": "10", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph!$]", + "styles": {} + } + ], + "children": [] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/partialChildToParent.json b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/partialChildToParent.json new file mode 100644 index 0000000000..96184b9f0a --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/partialChildToParent.json @@ -0,0 +1,38 @@ +[ + { + "id": "0", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "Hea[$!ding 1", + "styles": {} + } + ], + "children": [ + { + "id": "1", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested !$]Paragraph 1", + "styles": {} + } + ], + "children": [] + } + ] + } +] \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/styledText.json b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/styledText.json new file mode 100644 index 0000000000..d87036d636 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/styledText.json @@ -0,0 +1,67 @@ +[ + { + "id": "8", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "Bold[$!", + "styles": { + "bold": true + } + }, + { + "type": "text", + "text": "Italic!$]", + "styles": { + "italic": true + } + }, + { + "type": "text", + "text": "Regular", + "styles": {} + } + ], + "children": [ + { + "id": "9", + "type": "image", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "name": "", + "url": "https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg", + "caption": "", + "showPreview": true, + "previewWidth": 512 + }, + "children": [ + { + "id": "10", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph", + "styles": {} + } + ], + "children": [] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/tableAllCells.json b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/tableAllCells.json new file mode 100644 index 0000000000..2bcd05a763 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/tableAllCells.json @@ -0,0 +1,95 @@ +[ + { + "id": "11", + "type": "table", + "props": { + "textColor": "default" + }, + "content": { + "type": "tableContent", + "columnWidths": [ + null, + null + ], + "rows": [ + { + "cells": [ + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + }, + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + } + ] + }, + { + "cells": [ + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + }, + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "[$!Table Cell!$]", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + } + ] + } + ] + }, + "children": [] + } +] \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/tableCell.json b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/tableCell.json new file mode 100644 index 0000000000..12a6766e17 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/tableCell.json @@ -0,0 +1,95 @@ +[ + { + "id": "11", + "type": "table", + "props": { + "textColor": "default" + }, + "content": { + "type": "tableContent", + "columnWidths": [ + null, + null + ], + "rows": [ + { + "cells": [ + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "[$!Table Cell!$]", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + }, + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + } + ] + }, + { + "cells": [ + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + }, + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + } + ] + } + ] + }, + "children": [] + } +] \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/tableCellText.json b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/tableCellText.json new file mode 100644 index 0000000000..12a6766e17 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/tableCellText.json @@ -0,0 +1,95 @@ +[ + { + "id": "11", + "type": "table", + "props": { + "textColor": "default" + }, + "content": { + "type": "tableContent", + "columnWidths": [ + null, + null + ], + "rows": [ + { + "cells": [ + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "[$!Table Cell!$]", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + }, + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + } + ] + }, + { + "cells": [ + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + }, + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + } + ] + } + ] + }, + "children": [] + } +] \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/tableRow.json b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/tableRow.json new file mode 100644 index 0000000000..bea8f1dc22 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/tableRow.json @@ -0,0 +1,95 @@ +[ + { + "id": "11", + "type": "table", + "props": { + "textColor": "default" + }, + "content": { + "type": "tableContent", + "columnWidths": [ + null, + null + ], + "rows": [ + { + "cells": [ + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + }, + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "[$!Table Cell!$]", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + } + ] + }, + { + "cells": [ + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + }, + { + "type": "tableCell", + "content": [ + { + "type": "text", + "text": "Table Cell", + "styles": {} + } + ], + "props": { + "colspan": 1, + "rowspan": 1, + "backgroundColor": "default", + "textColor": "default", + "textAlignment": "left" + } + } + ] + } + ] + }, + "children": [] + } +] \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/unstyledText.json b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/unstyledText.json new file mode 100644 index 0000000000..dc9eb65931 --- /dev/null +++ b/packages/core/src/api/nodeConversions/__snapshots_selection_markers_json__/unstyledText.json @@ -0,0 +1,67 @@ +[ + { + "id": "8", + "type": "heading", + "props": { + "textColor": "red", + "backgroundColor": "default", + "textAlignment": "left", + "level": 2 + }, + "content": [ + { + "type": "text", + "text": "Bold", + "styles": { + "bold": true + } + }, + { + "type": "text", + "text": "Italic[$!", + "styles": { + "italic": true + } + }, + { + "type": "text", + "text": "Regular!$]", + "styles": {} + } + ], + "children": [ + { + "id": "9", + "type": "image", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "name": "", + "url": "https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg", + "caption": "", + "showPreview": true, + "previewWidth": 512 + }, + "children": [ + { + "id": "10", + "type": "paragraph", + "props": { + "textColor": "default", + "backgroundColor": "default", + "textAlignment": "left" + }, + "content": [ + { + "type": "text", + "text": "Nested Paragraph", + "styles": {} + } + ], + "children": [] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/packages/core/src/api/nodeConversions/blockToNode.ts b/packages/core/src/api/nodeConversions/blockToNode.ts index 8280d4dda8..1fdfdba000 100644 --- a/packages/core/src/api/nodeConversions/blockToNode.ts +++ b/packages/core/src/api/nodeConversions/blockToNode.ts @@ -33,7 +33,7 @@ function styledTextToNodes( ): Node[] { const marks: Mark[] = []; - for (const [style, value] of Object.entries(styledText.styles)) { + for (const [style, value] of Object.entries(styledText.styles || {})) { const config = styleSchema[style]; if (!config) { throw new Error(`style ${style} not found in styleSchema`); @@ -259,6 +259,7 @@ export function tableContentToNodes< ); columnNodes.push(cellNode); } + const rowNode = schema.nodes["tableRow"].createChecked({}, columnNodes); rowNodes.push(rowNode); } diff --git a/packages/core/src/api/nodeConversions/nodeToBlock.ts b/packages/core/src/api/nodeConversions/nodeToBlock.ts index 59edf8a60d..d8d340d05b 100644 --- a/packages/core/src/api/nodeConversions/nodeToBlock.ts +++ b/packages/core/src/api/nodeConversions/nodeToBlock.ts @@ -1,4 +1,4 @@ -import { Mark, Node, Schema } from "@tiptap/pm/model"; +import { Mark, Node, Schema, Slice } from "@tiptap/pm/model"; import UniqueID from "../../extensions/UniqueID/UniqueID.js"; import type { @@ -13,17 +13,21 @@ import type { TableCell, TableContent, } from "../../schema/index.js"; -import { getBlockInfoWithManualOffset } from "../getBlockInfoFromPos.js"; +import { + getBlockInfoWithManualOffset, + getNearestBlockPos, +} from "../getBlockInfoFromPos.js"; +import { EditorState, TextSelection, Transaction } from "prosemirror-state"; +import { ReplaceAroundStep, ReplaceStep } from "prosemirror-transform"; +import { getBlockInfo } from "../../api/getBlockInfoFromPos.js"; import type { Block } from "../../blocks/defaultBlocks.js"; import { isLinkInlineContent, isStyledTextInlineContent, } from "../../schema/inlineContent/types.js"; import { UnreachableCaseError } from "../../util/typescript.js"; -import { getBlockCache, getStyleSchema } from "../pmUtil.js"; -import { getInlineContentSchema } from "../pmUtil.js"; -import { getBlockSchema } from "../pmUtil.js"; +import { getBlockCache, getBlockSchema, getInlineContentSchema, getStyleSchema } from "../pmUtil.js"; /** * Converts an internal (prosemirror) table node contentto a BlockNote Tablecontent @@ -488,3 +492,353 @@ export function nodeToBlock< return block; } + +/** + * Convert a Prosemirror document to a BlockNote document (array of blocks) + */ +export function docToBlocks< + BSchema extends BlockSchema, + I extends InlineContentSchema, + S extends StyleSchema +>( + doc: Node, + schema: Schema, + blockSchema: BSchema = getBlockSchema(schema) as BSchema, + inlineContentSchema: I = getInlineContentSchema(schema) as I, + styleSchema: S = getStyleSchema(schema) as S, + blockCache = getBlockCache(schema) +) { + const blocks: Block[] = []; + doc.firstChild!.descendants((node) => { + blocks.push( + nodeToBlock( + node, + schema, + blockSchema, + inlineContentSchema, + styleSchema, + blockCache + ) + ); + return false; + }); + return blocks; +} + +export function selectionToInsertionEnd(tr: Transaction, startLen: number) { + const last = tr.steps.length - 1; + + if (last < startLen) { + return; + } + + const step = tr.steps[last]; + + if (!(step instanceof ReplaceStep || step instanceof ReplaceAroundStep)) { + return; + } + + const map = tr.mapping.maps[last]; + let end = 0; + + map.forEach((_from, _to, _newFrom, newTo) => { + if (end === 0) { + end = newTo; + } + }); + + return end; +} + +/** + * Create a transaction that adds selection markers to the document at the given positions. + * + * @param state - The editor state. + * @param from - The start position of the selection. + * @param to - The end position of the selection. + * @returns The transaction and the new end position. + */ +export function addSelectionMarkersTr( + state: EditorState, + from: number, + to: number +) { + if (from >= to) { + throw new Error("from must be less than to"); + } + + // find a valid text position; otherwise prosemirror might create new nodes + const validTo = TextSelection.near(state.doc.resolve(to), -1).head; + const validFrom = TextSelection.near(state.doc.resolve(from), 1).head; + + if (validFrom >= validTo) { + throw new Error("validFrom must be less than validTo"); + } + + let tr = state.tr.insertText("!$]", validTo, validTo); + let newEnd = selectionToInsertionEnd(tr, tr.steps.length - 1)!; + + tr = tr.insertText("[$!", validFrom, validFrom); + + newEnd = tr.mapping.maps[tr.mapping.maps.length - 1].map(newEnd); + + if (!tr.docChanged || tr.steps.length !== 2) { + throw new Error( + "tr.docChanged is false or insertText was not applied. Was a valid textselection passed?" + ); + } + return { + tr, + newEnd, + }; +} + +export function getDocumentWithSelectionMarkers< + BSchema extends BlockSchema, + I extends InlineContentSchema, + S extends StyleSchema +>( + state: EditorState, + from: number, + to: number, + schema: Schema, + blockSchema: BSchema = getBlockSchema(schema) as BSchema, + inlineContentSchema: I = getInlineContentSchema(schema) as I, + styleSchema: S = getStyleSchema(schema) as S +) { + const { tr } = addSelectionMarkersTr(state, from, to); + return docToBlocks( + tr.doc, + schema, + blockSchema, + inlineContentSchema, + styleSchema + ); +} + +/** + * Add selection markers to the document at the given positions and return the blocks that span the selection. + */ +export function getSelectedBlocksWithSelectionMarkers< + BSchema extends BlockSchema, + I extends InlineContentSchema, + S extends StyleSchema +>( + state: EditorState, + from: number, + to: number, + schema: Schema, + blockSchema: BSchema = getBlockSchema(schema) as BSchema, + inlineContentSchema: I = getInlineContentSchema(schema) as I, + styleSchema: S = getStyleSchema(schema) as S +) { + const { tr, newEnd } = addSelectionMarkersTr(state, from, to); + + return getBlocksBetween( + from, + newEnd, + tr.doc, + schema, + blockSchema, + inlineContentSchema, + styleSchema + ); +} + +/** + * Returns all blocks between two positions in a document, but without automatically including parent blocks + */ +export function getBlocksBetween< + BSchema extends BlockSchema, + I extends InlineContentSchema, + S extends StyleSchema +>( + start: number, + end: number, + doc: Node, + schema: Schema, + blockSchema: BSchema = getBlockSchema(schema) as BSchema, + inlineContentSchema: I = getInlineContentSchema(schema) as I, + styleSchema: S = getStyleSchema(schema) as S, + blockCache = getBlockCache(schema) +) { + const startPosInfo = getNearestBlockPos(doc, start); + const endPosInfo = getNearestBlockPos(doc, end); + const startNode = getBlockInfo(startPosInfo); + const endNode = getBlockInfo(endPosInfo); + + const slice = doc.slice( + startNode.bnBlock.beforePos, + endNode.bnBlock.afterPos, + true + ); + + const bnSelection = prosemirrorSliceToSlicedBlocks( + slice, + schema, + blockSchema, + inlineContentSchema, + styleSchema, + blockCache + ); + + if (bnSelection.blockCutAtEnd || bnSelection.blockCutAtStart) { + throw new Error("unexpected content cut in getBlocksBetween"); + } + + // we don't care about the slice metadata, because our slice is based on complete blocks, the + return bnSelection.blocks; +} + +/** + * + * Parse a Prosemirror Slice into a BlockNote selection. The prosemirror schema looks like this: + * + * + * (main content of block) + * + * (only if blocks has children) + * (child block) + * + * + * (child block 2) + * + * + * + * + * + * + */ +export function prosemirrorSliceToSlicedBlocks< + BSchema extends BlockSchema, + I extends InlineContentSchema, + S extends StyleSchema +>( + slice: Slice, + schema: Schema, + blockSchema: BSchema = getBlockSchema(schema) as BSchema, + inlineContentSchema: I = getInlineContentSchema(schema) as I, + styleSchema: S = getStyleSchema(schema) as S, + blockCache: WeakMap> = getBlockCache(schema) +): { + blocks: Block[]; + blockCutAtStart: string | undefined; + blockCutAtEnd: string | undefined; +} { + // console.log(JSON.stringify(slice.toJSON())); + function processNode( + node: Node, + openStart: number, + openEnd: number + ): { + blocks: Block[]; + blockCutAtStart: string | undefined; + blockCutAtEnd: string | undefined; + } { + if (node.type.name !== "blockGroup") { + throw new Error("unexpected"); + } + const blocks: Block[] = []; + let blockCutAtStart: string | undefined; + let blockCutAtEnd: string | undefined; + + node.forEach((blockContainer, _offset, index) => { + if (blockContainer.type.name !== "blockContainer") { + throw new Error("unexpected"); + } + if (blockContainer.childCount === 0) { + return; + } + if (blockContainer.childCount === 0 || blockContainer.childCount > 2) { + throw new Error( + "unexpected, blockContainer.childCount: " + blockContainer.childCount + ); + } + + const isFirstBlock = index === 0; + const isLastBlock = index === node.childCount - 1; + + if (blockContainer.firstChild!.type.name === "blockGroup") { + // this is the parent where a selection starts within one of its children, + // e.g.: + // A + // ├── B + // selection starts within B, then this blockContainer is A, but we don't care about A + // so let's descend into B and continue processing + if (!isFirstBlock) { + throw new Error("unexpected"); + } + const ret = processNode( + blockContainer.firstChild!, + Math.max(0, openStart - 1), + isLastBlock ? Math.max(0, openEnd - 1) : 0 + ); + blockCutAtStart = ret.blockCutAtStart; + if (isLastBlock) { + blockCutAtEnd = ret.blockCutAtEnd; + } + blocks.push(...ret.blocks); + return; + } + + const block = nodeToBlock( + blockContainer, + schema, + blockSchema, + inlineContentSchema, + styleSchema, + blockCache + ); + const childGroup = + blockContainer.childCount > 1 ? blockContainer.child(1) : undefined; + + let childBlocks: Block[] = []; + if (childGroup) { + const ret = processNode( + childGroup, + 0, // TODO: can this be anything other than 0? + isLastBlock ? Math.max(0, openEnd - 1) : 0 + ); + childBlocks = ret.blocks; + if (isLastBlock) { + blockCutAtEnd = ret.blockCutAtEnd; + } + } + + if (isLastBlock && !childGroup && openEnd > 1) { + blockCutAtEnd = block.id; + } + + if (isFirstBlock && openStart > 1) { + blockCutAtStart = block.id; + } + + blocks.push({ + ...(block as any), + children: childBlocks, + }); + }); + + return { blocks, blockCutAtStart, blockCutAtEnd }; + } + + if (slice.content.childCount === 0) { + return { + blocks: [], + blockCutAtStart: undefined, + blockCutAtEnd: undefined, + }; + } + + if (slice.content.childCount !== 1) { + throw new Error( + "slice must be a single block, did you forget includeParents=true?" + ); + } + + return processNode( + slice.content.firstChild!, + Math.max(slice.openStart - 1, 0), + Math.max(slice.openEnd - 1, 0) + ); +} diff --git a/packages/core/src/api/nodeConversions/selectionMarkers.test.ts b/packages/core/src/api/nodeConversions/selectionMarkers.test.ts new file mode 100644 index 0000000000..befc98c4c0 --- /dev/null +++ b/packages/core/src/api/nodeConversions/selectionMarkers.test.ts @@ -0,0 +1,359 @@ +import { Node } from "prosemirror-model"; +import { Selection, TextSelection } from "prosemirror-state"; +import { afterAll, beforeAll, describe, expect, it } from "vitest"; +import { BlockNoteEditor } from "../../editor/BlockNoteEditor.js"; + +import { PartialBlock } from "../../blocks/defaultBlocks.js"; + +// These tests are meant to test the copying of user selections in the editor. +// The test cases used for the other HTML conversion tests are not suitable here +// as they are represented in the BlockNote API, whereas here we want to test +// ProseMirror/TipTap selections directly. +describe("Test ProseMirror selection HTML conversion", () => { + const initialContent: PartialBlock[] = [ + { + type: "heading", + props: { + level: 2, + textColor: "red", + }, + content: "Heading 1", + children: [ + { + type: "paragraph", + content: "Nested Paragraph 1", + }, + { + type: "paragraph", + content: "Nested Paragraph 2", + }, + { + type: "paragraph", + content: "Nested Paragraph 3", + }, + ], + }, + { + type: "heading", + props: { + level: 2, + textColor: "red", + }, + content: "Heading 2", + children: [ + { + type: "paragraph", + content: "Nested Paragraph 1", + }, + { + type: "paragraph", + content: "Nested Paragraph 2", + }, + { + type: "paragraph", + content: "Nested Paragraph 3", + }, + ], + }, + { + type: "heading", + props: { + level: 2, + textColor: "red", + }, + content: [ + { + type: "text", + text: "Bold", + styles: { + bold: true, + }, + }, + { + type: "text", + text: "Italic", + styles: { + italic: true, + }, + }, + { + type: "text", + text: "Regular", + styles: {}, + }, + ], + children: [ + { + type: "image", + props: { + url: "https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg", + }, + children: [ + { + type: "paragraph", + content: "Nested Paragraph", + }, + ], + }, + ], + }, + { + type: "table", + content: { + type: "tableContent", + rows: [ + { + cells: ["Table Cell", "Table Cell"], + }, + { + cells: ["Table Cell", "Table Cell"], + }, + ], + }, + // Not needed as selections starting in table cells will get snapped to + // the table boundaries. + // children: [ + // { + // type: "table", + // content: { + // type: "tableContent", + // rows: [ + // { + // cells: ["Table Cell", "Table Cell"], + // }, + // { + // cells: ["Table Cell", "Table Cell"], + // }, + // ], + // }, + // }, + // ], + }, + ]; + + let editor: BlockNoteEditor; + + const div = document.createElement("div"); + + beforeAll(async () => { + (window as any).__TEST_OPTIONS = (window as any).__TEST_OPTIONS || {}; + editor = BlockNoteEditor.create({ initialContent }); + editor.mount(div); + }); + + afterAll(() => { + editor.mount(undefined); + editor._tiptapEditor.destroy(); + editor = undefined as any; + + delete (window as Window & { __TEST_OPTIONS?: any }).__TEST_OPTIONS; + }); + + // Sets the editor selection to the given start and end positions, then + // exports the selected content to HTML and compares it to a snapshot. + async function testSelection( + testName: string, + startPos: number, + endPos: number, + ) { + editor.transact((tr) => + tr.setSelection( + TextSelection.create(editor._tiptapEditor.state.doc, startPos, endPos), + ), + ); + + // const slice = editor._tiptapEditor.state.selection.content(); + + const blockNoteSelection = editor.getSelectedBlocksWithSelectionMarkers(); + + await expect( + JSON.stringify(blockNoteSelection, undefined, 2), + ).toMatchFileSnapshot( + `./__snapshots_selection_markers_json__/${testName}.json`, + ); + } + + const testCases: { testName: string; startPos: number; endPos: number }[] = [ + // Selection spans all of first heading's children. + { + testName: "multipleChildren", + startPos: 16, + endPos: 78, + }, + // Selection spans from start of first heading to end of its first child. + { + testName: "childToParent", + startPos: 3, + endPos: 34, + }, + // Selection spans from middle of first heading to the middle of its first + // child. + { + testName: "partialChildToParent", + startPos: 6, + endPos: 23, + }, + // Selection spans from start of first heading's first child to end of + // second heading's content (does not include second heading's children). + { + testName: "childrenToNextParent", + startPos: 16, + endPos: 93, + }, + // Selection spans from start of first heading's first child to end of + // second heading's last child. + { + testName: "childrenToNextParentsChildren", + startPos: 16, + endPos: 159, + }, + // Selection spans "Regular" text inside third heading. + { + testName: "unstyledText", + startPos: 175, + endPos: 182, + }, + // Selection spans "Italic" text inside third heading. + { + testName: "styledText", + startPos: 169, + endPos: 175, + }, + // Selection spans third heading's content (does not include third heading's + // children). + { + testName: "multipleStyledText", + startPos: 165, + endPos: 182, + }, + // Selection spans the image block content. + { + testName: "image", + startPos: 185, + endPos: 186, + }, + // Selection spans from start of third heading to end of it's last + // descendant. + { + testName: "nestedImage", + startPos: 165, + endPos: 205, + }, + // Selection spans text in first cell of the table. + { + testName: "tableCellText", + startPos: 216, + endPos: 226, + }, + // Selection spans first cell of the table. + { + testName: "tableCell", + startPos: 215, + endPos: 227, + }, + // Selection spans first row of the table. + { + testName: "tableRow", + startPos: 229, + endPos: 241, + }, + // Selection spans all cells of the table. + { + testName: "tableAllCells", + startPos: 259, + endPos: 271, + }, + ]; + // const testCase = testCases.find((testCase) => testCase.testName === "image"); + // it.only(testCase.testName, () => { + // testSelection(testCase.testName, testCase.startPos, testCase.endPos); + // }); + + for (const testCase of testCases) { + // (TODO?) + // eslint-disable-next-line jest/valid-title + it(testCase.testName, async () => { + await testSelection( + testCase.testName, + testCase.startPos, + testCase.endPos, + ); + }); + } + + it("move end", async () => { + let ret = ""; + + loopTextSelections(editor._tiptapEditor.state.doc, "end", (selection) => { + if (selection.empty) { + return; + } + editor.transact((tr) => tr.setSelection(selection)); + + const blockNoteSelection = editor.getSelectedBlocksWithSelectionMarkers(); + const JSONString = JSON.stringify(blockNoteSelection); + ret += JSONString + "\n"; + }); + + await expect(ret).toMatchFileSnapshot( + `./__snapshots_selection_markers_json__/move_end.txt`, + ); + }); + + it("move start", async () => { + let ret = ""; + + loopTextSelections(editor._tiptapEditor.state.doc, "start", (selection) => { + if (selection.empty) { + return; + } + editor.transact((tr) => tr.setSelection(selection)); + + const blockNoteSelection = editor.getSelectedBlocksWithSelectionMarkers(); + const JSONString = JSON.stringify(blockNoteSelection); + ret += JSONString + "\n"; + }); + + await expect(ret).toMatchFileSnapshot( + `./__snapshots_selection_markers_json__/move_start.txt`, + ); + }); +}); + +function loopTextSelections( + doc: Node, + move: "start" | "end", + cb: (selection: Selection) => void, +) { + const size = doc.content.size; + + for (let i = 0; i < size; i++) { + const selection = TextSelection.between( + move === "start" ? doc.resolve(i) : doc.resolve(0), + move === "start" ? doc.resolve(size - 1) : doc.resolve(i), + ); + if ( + (move === "start" && selection.from !== i) || + (move === "end" && selection.to !== i) + ) { + // The TextSelection.between has moved the position to a valid text position. + // In this case we just skip it. + // (we either have seen this text selection already or it's coming up as we iterate further) + continue; + } + cb(selection); + } +} +/** + * + * Insert $#$ markers around the selection + * + * respond with regular update / remove add blocks + * + * just apply updates + * (possibly: check if updates only affect selection) + * + * + * post partial "slice" blocks that are selected + * respond with similar slice + */ diff --git a/packages/core/src/api/nodeConversions/selections.test.ts b/packages/core/src/api/nodeConversions/selections.test.ts new file mode 100644 index 0000000000..a1d6713ff6 --- /dev/null +++ b/packages/core/src/api/nodeConversions/selections.test.ts @@ -0,0 +1,332 @@ +import { TextSelection } from "prosemirror-state"; +import { afterAll, beforeAll, describe, expect, it } from "vitest"; +import { PartialBlock } from "../../blocks/defaultBlocks.js"; +import { BlockNoteEditor } from "../../editor/BlockNoteEditor.js"; + +// These tests are meant to test the copying of user selections in the editor. +// The test cases used for the other HTML conversion tests are not suitable here +// as they are represented in the BlockNote API, whereas here we want to test +// ProseMirror/TipTap selections directly. +describe("Test ProseMirror selection HTML conversion", () => { + const initialContent: PartialBlock[] = [ + { + type: "heading", + props: { + level: 2, + textColor: "red", + }, + content: "Heading 1", + children: [ + { + type: "paragraph", + content: "Nested Paragraph 1", + }, + { + type: "paragraph", + content: "Nested Paragraph 2", + }, + { + type: "paragraph", + content: "Nested Paragraph 3", + }, + ], + }, + { + type: "heading", + props: { + level: 2, + textColor: "red", + }, + content: "Heading 2", + children: [ + { + type: "paragraph", + content: "Nested Paragraph 1", + }, + { + type: "paragraph", + content: "Nested Paragraph 2", + }, + { + type: "paragraph", + content: "Nested Paragraph 3", + }, + ], + }, + { + type: "heading", + props: { + level: 2, + textColor: "red", + }, + content: [ + { + type: "text", + text: "Bold", + styles: { + bold: true, + }, + }, + { + type: "text", + text: "Italic", + styles: { + italic: true, + }, + }, + { + type: "text", + text: "Regular", + styles: {}, + }, + ], + children: [ + { + type: "image", + props: { + url: "https://ralfvanveen.com/wp-content/uploads/2021/06/Placeholder-_-Glossary.svg", + }, + children: [ + { + type: "paragraph", + content: "Nested Paragraph", + }, + ], + }, + ], + }, + { + type: "table", + content: { + type: "tableContent", + rows: [ + { + cells: ["Table Cell", "Table Cell"], + }, + { + cells: ["Table Cell", "Table Cell"], + }, + ], + }, + // Not needed as selections starting in table cells will get snapped to + // the table boundaries. + // children: [ + // { + // type: "table", + // content: { + // type: "tableContent", + // rows: [ + // { + // cells: ["Table Cell", "Table Cell"], + // }, + // { + // cells: ["Table Cell", "Table Cell"], + // }, + // ], + // }, + // }, + // ], + }, + ]; + + let editor: BlockNoteEditor; + + const div = document.createElement("div"); + + beforeAll(async () => { + (window as any).__TEST_OPTIONS = (window as any).__TEST_OPTIONS || {}; + editor = BlockNoteEditor.create({ initialContent }); + editor.mount(div); + }); + + afterAll(() => { + editor.mount(undefined); + editor._tiptapEditor.destroy(); + editor = undefined as any; + + delete (window as Window & { __TEST_OPTIONS?: any }).__TEST_OPTIONS; + }); + + // Sets the editor selection to the given start and end positions, then + // exports the selected content to HTML and compares it to a snapshot. + async function testSelection( + testName: string, + startPos: number, + endPos: number, + ) { + editor.transact((tr) => + tr.setSelection( + TextSelection.create(editor._tiptapEditor.state.doc, startPos, endPos), + ), + ); + + // const slice = editor._tiptapEditor.state.selection.content(); + + const blockNoteSelection = editor.getSelection2(); + + await expect( + JSON.stringify(blockNoteSelection, undefined, 2), + ).toMatchFileSnapshot(`./__snapshots_selection_json__/${testName}.json`); + } + + const testCases: { testName: string; startPos: number; endPos: number }[] = [ + // Selection spans all of first heading's children. + { + testName: "multipleChildren", + startPos: 16, + endPos: 78, + }, + // Selection spans from start of first heading to end of its first child. + { + testName: "childToParent", + startPos: 3, + endPos: 34, + }, + // Selection spans from middle of first heading to the middle of its first + // child. + { + testName: "partialChildToParent", + startPos: 6, + endPos: 23, + }, + // Selection spans from start of first heading's first child to end of + // second heading's content (does not include second heading's children). + { + testName: "childrenToNextParent", + startPos: 16, + endPos: 93, + }, + // Selection spans from start of first heading's first child to end of + // second heading's last child. + { + testName: "childrenToNextParentsChildren", + startPos: 16, + endPos: 159, + }, + // Selection spans "Regular" text inside third heading. + { + testName: "unstyledText", + startPos: 175, + endPos: 182, + }, + // Selection spans "Italic" text inside third heading. + { + testName: "styledText", + startPos: 169, + endPos: 175, + }, + // Selection spans third heading's content (does not include third heading's + // children). + { + testName: "multipleStyledText", + startPos: 165, + endPos: 182, + }, + // Selection spans the image block content. + { + testName: "image", + startPos: 185, + endPos: 186, + }, + // Selection spans from start of third heading to end of it's last + // descendant. + { + testName: "nestedImage", + startPos: 165, + endPos: 205, + }, + // Selection spans text in first cell of the table. + { + testName: "tableCellText", + startPos: 216, + endPos: 226, + }, + // Selection spans first cell of the table. + { + testName: "tableCell", + startPos: 215, + endPos: 227, + }, + // Selection spans first row of the table. + { + testName: "tableRow", + startPos: 229, + endPos: 241, + }, + // Selection spans all cells of the table. + { + testName: "tableAllCells", + startPos: 259, + endPos: 271, + }, + ]; + + for (const testCase of testCases) { + // (TODO?) + // eslint-disable-next-line jest/valid-title + it(testCase.testName, async () => { + await testSelection( + testCase.testName, + testCase.startPos, + testCase.endPos, + ); + }); + } + + it("move end", async () => { + const size = editor._tiptapEditor.state.doc.content.size; + + let ret = ""; + + for (let i = 0; i < size; i++) { + editor.transact((tr) => + tr.setSelection( + TextSelection.create(editor._tiptapEditor.state.doc, 0, i), + ), + ); + const blockNoteSelection = editor.getSelection2(); + const JSONString = JSON.stringify(blockNoteSelection); + ret += JSONString + "\n"; + } + + await expect(ret).toMatchFileSnapshot( + `./__snapshots_selection_json__/move_end.txt`, + ); + }); + + it("move start", async () => { + const size = editor._tiptapEditor.state.doc.content.size; + + let ret = ""; + + for (let i = 0; i < size; i++) { + editor.transact((tr) => + tr.setSelection( + TextSelection.create(editor._tiptapEditor.state.doc, i, size - 1), + ), + ); + + const blockNoteSelection = editor.getSelection2(); + const JSONString = JSON.stringify(blockNoteSelection); + ret += JSONString + "\n"; + } + + await expect(ret).toMatchFileSnapshot( + `./__snapshots_selection_json__/move_start.txt`, + ); + }); +}); + +/** + * + * Insert $#$ markers around the selection + * + * respond with regular update / remove add blocks + * + * just apply updates + * (possibly: check if updates only affect selection) + * + * + * post partial "slice" blocks that are selected + * respond with similar slice + */ diff --git a/packages/core/src/api/pmUtil.ts b/packages/core/src/api/pmUtil.ts index 95fa59fca3..acda05b3a8 100644 --- a/packages/core/src/api/pmUtil.ts +++ b/packages/core/src/api/pmUtil.ts @@ -1,12 +1,12 @@ import type { Node, Schema } from "prosemirror-model"; -import type { Transaction } from "prosemirror-state"; +import { Transform } from "prosemirror-transform"; import type { BlockNoteEditor } from "../editor/BlockNoteEditor.js"; +import { BlockNoteSchema } from "../editor/BlockNoteSchema.js"; import type { BlockSchema } from "../schema/blocks/types.js"; import type { InlineContentSchema } from "../schema/inlineContent/types.js"; import type { StyleSchema } from "../schema/styles/types.js"; -import { BlockNoteSchema } from "../editor/BlockNoteSchema.js"; -export function getPmSchema(trOrNode: Transaction | Node) { +export function getPmSchema(trOrNode: Transform | Node) { if ("doc" in trOrNode) { return trOrNode.doc.type.schema; } diff --git a/packages/core/src/blocks/CodeBlockContent/CodeBlockContent.ts b/packages/core/src/blocks/CodeBlockContent/CodeBlockContent.ts index 4733fc88d5..690bd31ede 100644 --- a/packages/core/src/blocks/CodeBlockContent/CodeBlockContent.ts +++ b/packages/core/src/blocks/CodeBlockContent/CodeBlockContent.ts @@ -1,15 +1,15 @@ +import type { HighlighterGeneric } from "@shikijs/types"; import { InputRule, isTextSelection } from "@tiptap/core"; import { TextSelection } from "@tiptap/pm/state"; -import { createHighlightPlugin, Parser } from "prosemirror-highlight"; +import { Parser, createHighlightPlugin } from "prosemirror-highlight"; import { createParser } from "prosemirror-highlight/shiki"; +import { BlockNoteEditor } from "../../index.js"; import { + PropSchema, createBlockSpecFromStronglyTypedTiptapNode, createStronglyTypedTiptapNode, - PropSchema, } from "../../schema/index.js"; import { createDefaultBlockDOMOutputSpec } from "../defaultBlockHelpers.js"; -import type { HighlighterGeneric } from "@shikijs/types"; -import { BlockNoteEditor } from "../../index.js"; export type CodeBlockOptions = { /** @@ -150,7 +150,7 @@ const CodeBlockContent = createStronglyTypedTiptapNode({ }, { tag: "pre", - contentElement: "code", + // contentElement: "code", preserveWhitespace: "full", }, ]; diff --git a/packages/core/src/blocks/TableBlockContent/TableBlockContent.ts b/packages/core/src/blocks/TableBlockContent/TableBlockContent.ts index 1375a528f3..5c4aa40305 100644 --- a/packages/core/src/blocks/TableBlockContent/TableBlockContent.ts +++ b/packages/core/src/blocks/TableBlockContent/TableBlockContent.ts @@ -1,9 +1,10 @@ import { TableCell } from "@tiptap/extension-table-cell"; import { TableHeader } from "@tiptap/extension-table-header"; -import { TableRow } from "@tiptap/extension-table-row"; + import { Node as PMNode } from "prosemirror-model"; import { TableView } from "prosemirror-tables"; +import { Node, mergeAttributes } from "@tiptap/core"; import { NodeView } from "prosemirror-view"; import { createBlockSpecFromStronglyTypedTiptapNode, @@ -24,6 +25,7 @@ export const TableBlockContent = createStronglyTypedTiptapNode({ group: "blockContent", tableRole: "table", + marks: "deletion", isolating: true, parseHTML() { @@ -152,6 +154,36 @@ const TableParagraph = createStronglyTypedTiptapNode({ }, }); +/** + * This extension allows you to create table rows. + * @see https://www.tiptap.dev/api/nodes/table-row + */ +export const TableRow = Node.create<{ HTMLAttributes: Record }>({ + name: "tableRow", + + addOptions() { + return { + HTMLAttributes: {}, + }; + }, + + content: "(tableCell | tableHeader)+", + + tableRole: "row", + marks: "deletion", + parseHTML() { + return [{ tag: "tr" }]; + }, + + renderHTML({ HTMLAttributes }) { + return [ + "tr", + mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), + 0, + ]; + }, +}); + export const Table = createBlockSpecFromStronglyTypedTiptapNode( TableBlockContent, tablePropSchema, diff --git a/packages/core/src/blocks/defaultBlockTypeGuards.ts b/packages/core/src/blocks/defaultBlockTypeGuards.ts index 1704456045..d4d0c47e36 100644 --- a/packages/core/src/blocks/defaultBlockTypeGuards.ts +++ b/packages/core/src/blocks/defaultBlockTypeGuards.ts @@ -1,6 +1,7 @@ import { CellSelection } from "prosemirror-tables"; import type { BlockNoteEditor } from "../editor/BlockNoteEditor.js"; import { + BlockConfig, BlockFromConfig, BlockSchema, FileBlockConfig, @@ -17,6 +18,22 @@ import { import { defaultProps } from "./defaultProps.js"; import { Selection } from "prosemirror-state"; +// TODO: check +export function checkBlockTypeInSchema< + Config extends BlockConfig, + I extends InlineContentSchema, + S extends StyleSchema +>( + blockConfig: Config, + editor: BlockNoteEditor +): editor is BlockNoteEditor<{ Type: Config }, I, S> { + return ( + blockConfig.type in editor.schema.blockSchema && + editor.schema.blockSchema[blockConfig.type] === blockConfig + ); +} + +// TODO: can we reuse checkBlockTypeInSchema? export function checkDefaultBlockTypeInSchema< BlockType extends keyof DefaultBlockSchema, I extends InlineContentSchema, diff --git a/packages/core/src/editor/Block.css b/packages/core/src/editor/Block.css index b86e8e1af3..6116599fcd 100644 --- a/packages/core/src/editor/Block.css +++ b/packages/core/src/editor/Block.css @@ -433,7 +433,6 @@ NESTED BLOCKS position: absolute; font-style: italic; } - /* TODO: should this be here? */ /* TEXT COLORS */ diff --git a/packages/core/src/editor/BlockNoteEditor.test.ts b/packages/core/src/editor/BlockNoteEditor.test.ts index d77787a93c..c2f753c5f0 100644 --- a/packages/core/src/editor/BlockNoteEditor.test.ts +++ b/packages/core/src/editor/BlockNoteEditor.test.ts @@ -75,6 +75,13 @@ it("adds id attribute when requested", async () => { ); }); +it("updates block", () => { + const editor = BlockNoteEditor.create(); + editor.updateBlock(editor.document[0], { + content: "hello", + }); +}); + it("block prop types", () => { // this test checks whether the block props are correctly typed in typescript const editor = BlockNoteEditor.create(); diff --git a/packages/core/src/editor/BlockNoteEditor.ts b/packages/core/src/editor/BlockNoteEditor.ts index f3d4c108b0..0bc6d18b79 100644 --- a/packages/core/src/editor/BlockNoteEditor.ts +++ b/packages/core/src/editor/BlockNoteEditor.ts @@ -93,6 +93,7 @@ import { import { Dictionary } from "../i18n/dictionary.js"; import { en } from "../i18n/locales/index.js"; +import { redo, undo } from "@tiptap/pm/history"; import { TextSelection, type Command, @@ -101,11 +102,15 @@ import { } from "@tiptap/pm/state"; import { dropCursor } from "prosemirror-dropcursor"; import { EditorView } from "prosemirror-view"; -import { undoCommand, redoCommand, ySyncPluginKey } from "y-prosemirror"; -import { undo, redo } from "@tiptap/pm/history"; +import { redoCommand, undoCommand, ySyncPluginKey } from "y-prosemirror"; import { createInternalHTMLSerializer } from "../api/exporters/html/internalHTMLSerializer.js"; import { inlineContentToNodes } from "../api/nodeConversions/blockToNode.js"; -import { nodeToBlock } from "../api/nodeConversions/nodeToBlock.js"; +import { + docToBlocks, + getDocumentWithSelectionMarkers, + getSelectedBlocksWithSelectionMarkers, + prosemirrorSliceToSlicedBlocks, +} from "../api/nodeConversions/nodeToBlock.js"; import { BlocksChanged, getBlocksChangedByTransaction, @@ -113,20 +118,31 @@ import { import { nestedListsToBlockNoteStructure } from "../api/parsers/html/util/nestedLists.js"; import { CodeBlockOptions } from "../blocks/CodeBlockContent/CodeBlockContent.js"; import type { ThreadStore, User } from "../comments/index.js"; +import { CursorPlugin } from "../extensions/Collaboration/CursorPlugin.js"; import "../style.css"; import { EventEmitter } from "../util/EventEmitter.js"; -import { CursorPlugin } from "../extensions/Collaboration/CursorPlugin.js"; +import { BlockNoteExtension } from "./BlockNoteExtension.js"; +/** + * A factory function that returns a BlockNoteExtension + * This is useful so we can create extensions that require an editor instance + * in the constructor + */ export type BlockNoteExtensionFactory = ( editor: BlockNoteEditor, ) => BlockNoteExtension; -export type BlockNoteExtension = +/** + * We support Tiptap extensions and BlockNoteExtension based extensions + */ +export type SupportedExtension = | AnyExtension | { - plugin: Plugin; + plugin: Plugin; // TODO: deprecate this format and use BlockNoteExtension instead + plugins?: Plugin[]; priority?: number; - }; + } + | BlockNoteExtension; export type BlockCache< BSchema extends BlockSchema = any, @@ -404,7 +420,7 @@ export class BlockNoteEditor< /** * extensions that are added to the editor, can be tiptap extensions or prosemirror plugins */ - public readonly extensions: Record = {}; + public readonly extensions: Record = {}; /** * Boolean indicating whether the editor is in headless mode. @@ -691,7 +707,16 @@ export class BlockNoteEditor< return ext; } - if (!ext.plugin) { + if (ext instanceof BlockNoteExtension && !ext.plugin && !ext.plugins) { + return undefined; + } + + const plugins = [ + ...(ext.plugin ? [ext.plugin] : []), + ...(ext.plugins || []), + ]; + + if (!plugins.length) { throw new Error( "Extension should either be a TipTap extension or a ProseMirror plugin in a plugin property", ); @@ -701,10 +726,11 @@ export class BlockNoteEditor< return Extension.create({ name: key, priority: ext.priority, - addProseMirrorPlugins: () => [ext.plugin], + addProseMirrorPlugins: () => plugins, }); }), - ]; + ].filter((ext): ext is Extension => ext !== undefined); + const tiptapOptions: BlockNoteTipTapEditorOptions = { ...blockNoteTipTapOptions, ...newOptions._tiptapOptions, @@ -865,6 +891,26 @@ export class BlockNoteEditor< } } + // TO DISCUSS + /** + * Shorthand to get a typed extension from the editor, by + * just passing in the extension class. + * + * @param ext - The extension class to get + * @param key - optional, the key of the extension in the extensions object (defaults to the extension name) + * @returns The extension instance + */ + public extension( + ext: { new (...args: any[]): T } & typeof BlockNoteExtension, + key = ext.name() + ): T { + const extension = this.extensions[key] as T; + if (!extension) { + throw new Error(`Extension ${key} not found`); + } + return extension; + } + /** * Mount the editor to a parent DOM element. Call mount(undefined) to clean up * @@ -946,15 +992,10 @@ export class BlockNoteEditor< */ public get document(): Block[] { return this.transact((tr) => { - const blocks: Block[] = []; - - tr.doc.firstChild!.descendants((node) => { - blocks.push(nodeToBlock(node, this.pmSchema)); - - return false; - }); - - return blocks; + return docToBlocks( + tr.doc, + this.pmSchema + ); }); } @@ -1098,6 +1139,138 @@ export class BlockNoteEditor< ); } + public getDocumentWithSelectionMarkers() { + return getDocumentWithSelectionMarkers( + this.prosemirrorState, + this.prosemirrorState.selection.from, + this.prosemirrorState.selection.to, + this.pmSchema, + ); + } + + // TODO: what about node selections? + public getSelectedBlocksWithSelectionMarkers() { + const start = this.prosemirrorState.selection.$from; + const end = this.prosemirrorState.selection.$to; + + return getSelectedBlocksWithSelectionMarkers( + this.prosemirrorState, + start.pos, + end.pos, + this.pmSchema + ); + } + + // TODO + // public updateSelection(blocks: Block[]) { + // let start = this.prosemirrorState.selection.$from; + // let end = this.prosemirrorState.selection.$to; + + // // the selection moves below are used to make sure `prosemirrorSliceToSlicedBlocks` returns + // // the correct information about whether content is cut at the start or end of a block + // // TODO: might make more sense to move the logic there + + // // if the end is at the end of a node (|

) move it forward so we include all closing tags (

|) + // while (end.parentOffset >= end.parent.nodeSize - 2 && end.depth > 0) { + // end = this.prosemirrorState.doc.resolve(end.pos + 1); + // } + + // // if the end is at the start of an empty node (

|) move it backwards so we drop empty start tags (

|) + // while (end.parentOffset === 0 && end.depth > 0) { + // end = this.prosemirrorState.doc.resolve(end.pos - 1); + // } + + // // if the start is at the start of a node (

|) move it backwards so we include all open tags (|

) + // while (start.parentOffset === 0 && start.depth > 0) { + // start = this.prosemirrorState.doc.resolve(start.pos - 1); + // } + + // // if the start is at the end of a node (|

|) move it forwards so we drop all closing tags (|

) + // while (start.parentOffset >= start.parent.nodeSize - 2 && start.depth > 0) { + // start = this.prosemirrorState.doc.resolve(start.pos + 1); + // } + + // // const node = blockto(blocks, this.schema.blockSchema, this.schema.inlineContentSchema, this.schema.styleSchema); + // // this.prosemirrorState.tr.replaceWith(start.pos, end.pos, blocks); + // // this.prosemirrorState.doc.slice(start.pos, end.pos, true), + // // this.schema.blockSchema, + // // this.schema.inlineContentSchema, + // // this.schema.styleSchema, + // // this.blockCache + // // ); + // } + + // TODO: fix image node selection + public getSelection2() { + let start = this.prosemirrorState.selection.$from; + let end = this.prosemirrorState.selection.$to; + + // the selection moves below are used to make sure `prosemirrorSliceToSlicedBlocks` returns + // the correct information about whether content is cut at the start or end of a block + // TODO: might make more sense to move the logic there + + // if the end is at the end of a node (|

) move it forward so we include all closing tags (

|) + while (end.parentOffset >= end.parent.nodeSize - 2 && end.depth > 0) { + end = this.prosemirrorState.doc.resolve(end.pos + 1); + } + + // if the end is at the start of an empty node (

|) move it backwards so we drop empty start tags (

|) + while (end.parentOffset === 0 && end.depth > 0) { + end = this.prosemirrorState.doc.resolve(end.pos - 1); + } + + // if the start is at the start of a node (

|) move it backwards so we include all open tags (|

) + while (start.parentOffset === 0 && start.depth > 0) { + start = this.prosemirrorState.doc.resolve(start.pos - 1); + } + + // if the start is at the end of a node (|

|) move it forwards so we drop all closing tags (|

) + while (start.parentOffset >= start.parent.nodeSize - 2 && start.depth > 0) { + start = this.prosemirrorState.doc.resolve(start.pos + 1); + } + + const selectionInfo = prosemirrorSliceToSlicedBlocks( + this.prosemirrorState.doc.slice(start.pos, end.pos, true), + this.pmSchema + ); + + return { + _meta: { + startPos: start.pos, + endPos: end.pos, + }, + ...selectionInfo, + // // TODO: just make a updateSelectedBlock() method or sth + // updateBlock: ( + // blockToUpdate: BlockIdentifier, + // block: PartialBlock + // ) => { + // // TODO: pass through position mapper + // let replaceFromPos: number | undefined; + // let replaceToPos: number | undefined; + + // if (selectionInfo.blockCutAtStart === selectionInfo.blocks[0].id) { + // replaceFromPos = start.pos; + // } + + // if ( + // selectionInfo.blockCutAtEnd === + // selectionInfo.blocks[selectionInfo.blocks.length - 1].id + // ) { + // replaceToPos = end.pos; + // } + + // return updateBlock( + // this, + // blockToUpdate, + // block, + // replaceFromPos, + // replaceToPos + // ); + // }, + }; + } + /** * Gets a snapshot of the current selection. */ @@ -1114,6 +1287,14 @@ export class BlockNoteEditor< return this.transact((tr) => setSelection(tr, startBlock, endBlock)); } + public clearSelection() { + this.transact((tr) => + tr.setSelection( + TextSelection.near(this.prosemirrorState.doc.resolve(0)) + ) + ); + } + /** * Checks if the editor is currently editable, or if it's locked. * @returns True if the editor is editable, false otherwise. @@ -1589,8 +1770,8 @@ export class BlockNoteEditor< if (!this.prosemirrorView) { return undefined; } - const state = this.prosemirrorView?.state; - const { selection } = state; + + const { selection } = this.prosemirrorState; // support for CellSelections const { ranges } = selection; diff --git a/packages/core/src/editor/BlockNoteExtension.ts b/packages/core/src/editor/BlockNoteExtension.ts new file mode 100644 index 0000000000..837e26f1f6 --- /dev/null +++ b/packages/core/src/editor/BlockNoteExtension.ts @@ -0,0 +1,17 @@ +import { Plugin } from "prosemirror-state"; + +export abstract class BlockNoteExtension { + public static name(): string { + throw new Error("You must implement the name method in your extension"); + } + + public plugin?: Plugin; + public plugins?: Plugin[]; + public priority?: number; + + // eslint-disable-next-line + constructor(..._args: any[]) { + // Allow subclasses to have constructors with parameters + // without this, we can't easily implement BlockNoteEditor.extension(MyExtension) pattern + } +} diff --git a/packages/core/src/editor/BlockNoteExtensions.ts b/packages/core/src/editor/BlockNoteExtensions.ts index b0c5db73ba..cda757cf5a 100644 --- a/packages/core/src/editor/BlockNoteExtensions.ts +++ b/packages/core/src/editor/BlockNoteExtensions.ts @@ -9,13 +9,14 @@ import * as Y from "yjs"; import { createDropFileExtension } from "../api/clipboard/fromClipboard/fileDropExtension.js"; import { createPasteFromClipboardExtension } from "../api/clipboard/fromClipboard/pasteExtension.js"; import { createCopyToClipboardExtension } from "../api/clipboard/toClipboard/copyExtension.js"; +import type { ThreadStore } from "../comments/index.js"; +import { AgentCursorPlugin } from "../extensions/AgentCursor/AgentCursorPlugin.js"; import { BackgroundColorExtension } from "../extensions/BackgroundColor/BackgroundColorExtension.js"; import { CursorPlugin } from "../extensions/Collaboration/CursorPlugin.js"; import { UndoPlugin } from "../extensions/Collaboration/UndoPlugin.js"; import { SyncPlugin } from "../extensions/Collaboration/SyncPlugin.js"; import { CommentMark } from "../extensions/Comments/CommentMark.js"; import { CommentsPlugin } from "../extensions/Comments/CommentsPlugin.js"; -import type { ThreadStore } from "../comments/index.js"; import { FilePanelProsemirrorPlugin } from "../extensions/FilePanel/FilePanelPlugin.js"; import { FormattingToolbarProsemirrorPlugin } from "../extensions/FormattingToolbar/FormattingToolbarPlugin.js"; import { HardBreak } from "../extensions/HardBreak/HardBreak.js"; @@ -31,6 +32,11 @@ import { PreviousBlockTypePlugin } from "../extensions/PreviousBlockType/Previou import { ShowSelectionPlugin } from "../extensions/ShowSelection/ShowSelectionPlugin.js"; import { SideMenuProsemirrorPlugin } from "../extensions/SideMenu/SideMenuPlugin.js"; import { SuggestionMenuProseMirrorPlugin } from "../extensions/SuggestionMenu/SuggestionPlugin.js"; +import { + SuggestionAddMark, + SuggestionDeleteMark, + SuggestionModificationMark, +} from "../extensions/Suggestions/SuggestionMarks.js"; import { TableHandlesProsemirrorPlugin } from "../extensions/TableHandles/TableHandlesPlugin.js"; import { TextAlignmentExtension } from "../extensions/TextAlignment/TextAlignmentExtension.js"; import { TextColorExtension } from "../extensions/TextColor/TextColorExtension.js"; @@ -49,7 +55,7 @@ import { import type { BlockNoteEditor, BlockNoteEditorOptions, - BlockNoteExtension, + SupportedExtension, } from "./BlockNoteEditor.js"; type ExtensionOptions< @@ -101,7 +107,7 @@ export const getBlockNoteExtensions = < >( opts: ExtensionOptions ) => { - const ret: Record = {}; + const ret: Record = {}; const tiptapExtensions = getTipTapExtensions(opts); for (const ext of tiptapExtensions) { @@ -159,6 +165,8 @@ export const getBlockNoteExtensions = < ); } + ret["agentCursor"] = new AgentCursorPlugin(opts.editor); + const disableExtensions: string[] = opts.disableExtensions || []; for (const ext of disableExtensions) { delete ret[ext]; @@ -202,6 +210,9 @@ const getTipTapExtensions = < Text, // marks: + SuggestionAddMark, + SuggestionDeleteMark, + SuggestionModificationMark, Link.extend({ inclusive: false, }).configure({ diff --git a/packages/core/src/editor/BlockNoteTipTapEditor.ts b/packages/core/src/editor/BlockNoteTipTapEditor.ts index 66ee5055ef..f6458692ea 100644 --- a/packages/core/src/editor/BlockNoteTipTapEditor.ts +++ b/packages/core/src/editor/BlockNoteTipTapEditor.ts @@ -1,5 +1,9 @@ -import { Editor, EditorOptions, createDocument } from "@tiptap/core"; -import { Editor as TiptapEditor } from "@tiptap/core"; +import { + Editor, + EditorOptions, + Editor as TiptapEditor, + createDocument, +} from "@tiptap/core"; import { Node } from "@tiptap/pm/model"; @@ -26,7 +30,7 @@ export class BlockNoteTipTapEditor extends TiptapEditor { public static create = ( options: BlockNoteTipTapEditorOptions, - styleSchema: StyleSchema + styleSchema: StyleSchema, ) => { // because we separate the constructor from the creation of the view, // we need to patch setTimeout to prevent this code from having any effect: @@ -48,7 +52,7 @@ export class BlockNoteTipTapEditor extends TiptapEditor { protected constructor( options: BlockNoteTipTapEditorOptions, - styleSchema: StyleSchema + styleSchema: StyleSchema, ) { // possible fix for next.js server side rendering // const d = globalThis.document; @@ -93,7 +97,7 @@ export class BlockNoteTipTapEditor extends TiptapEditor { try { const pmNodes = options?.content.map((b) => - blockToNode(b, this.schema, styleSchema).toJSON() + blockToNode(b, this.schema, styleSchema).toJSON(), ); doc = createDocument( { @@ -106,17 +110,17 @@ export class BlockNoteTipTapEditor extends TiptapEditor { ], }, this.schema, - this.options.parseOptions + this.options.parseOptions, ); } catch (e) { // eslint-disable-next-line no-console console.error( "Error creating document from blocks passed as `initialContent`. Caused by exception: ", - e + e, ); throw new Error( "Error creating document from blocks passed as `initialContent`:\n" + - +JSON.stringify(options.content) + +JSON.stringify(options.content), ); } @@ -141,6 +145,10 @@ export class BlockNoteTipTapEditor extends TiptapEditor { if (!this.view) { // before view has been initialized this._state = this.state.apply(transaction); + this.emit("transaction", { + editor: this, + transaction, + }); return; } // This is a verbatim copy of the default dispatch method, but with the following changes: @@ -216,12 +224,25 @@ export class BlockNoteTipTapEditor extends TiptapEditor { }); } + // a helper method that can enable plugins before the view has been initialized + // currently only used for testing + forceEnablePlugins() { + if (this.view) { + throw new Error( + "forcePluginsEnabled called after view has been initialized", + ); + } + this._state = this.state.reconfigure({ + plugins: this.extensionManager.plugins, + }); + } + /** * Replace the default `createView` method with a custom one - which we call on mount */ private createViewAlternative( blockNoteEditor: BlockNoteEditor, - contentComponent?: any + contentComponent?: any, ) { (this as any).contentComponent = contentComponent; @@ -244,7 +265,7 @@ export class BlockNoteTipTapEditor extends TiptapEditor { state: this.state, markViews, nodeViews: this.extensionManager.nodeViews, - } + }, ); // `editor.view` is not yet available at this time. @@ -263,7 +284,7 @@ export class BlockNoteTipTapEditor extends TiptapEditor { this.commands.focus( this.options.autofocus || this.options.element.getAttribute("data-bn-autofocus") === "true", - { scrollIntoView: false } + { scrollIntoView: false }, ); this.emit("create", { editor: this }); this.isInitialized = true; @@ -277,7 +298,7 @@ export class BlockNoteTipTapEditor extends TiptapEditor { public mount = ( blockNoteEditor: BlockNoteEditor, element?: HTMLElement | null, - contentComponent?: any + contentComponent?: any, ) => { if (!element) { this.destroy(); diff --git a/packages/core/src/extensions/AgentCursor/AgentCursorPlugin.ts b/packages/core/src/extensions/AgentCursor/AgentCursorPlugin.ts new file mode 100644 index 0000000000..b44825a848 --- /dev/null +++ b/packages/core/src/extensions/AgentCursor/AgentCursorPlugin.ts @@ -0,0 +1,105 @@ +import { Plugin, PluginKey } from "prosemirror-state"; +import { Decoration, DecorationSet } from "prosemirror-view"; +import { defaultSelectionBuilder } from "y-prosemirror"; +import type { BlockNoteEditor } from "../../editor/BlockNoteEditor.js"; + +type AgentCursorState = { + selection: { anchor: number; head: number } | undefined; +}; +const PLUGIN_KEY = new PluginKey(`blocknote-agent-cursor`); + +const user = { + name: "AI", + color: "#8bc6ff", +}; + +// TODO: move to xl-ai? +export class AgentCursorPlugin { + public readonly plugin: Plugin; + constructor(_editor: BlockNoteEditor) { + this.plugin = new Plugin({ + key: PLUGIN_KEY, + view: (_view) => { + return {}; + }, + state: { + init: () => { + return { + selection: undefined, + }; + }, + apply: (tr, _oldState) => { + const meta = tr.getMeta("aiAgent"); + + if (!meta) { + return { + selection: undefined, + }; + } + + return { + selection: meta.selection, + }; + }, + }, + props: { + decorations: (state) => { + const { doc } = state; + + const { selection } = PLUGIN_KEY.getState(state)!; + + const decs = []; + + if (!selection) { + return DecorationSet.create(doc, []); + } + + decs.push( + Decoration.widget(selection.head, () => renderCursor(user), { + key: "agent-cursor", + side: 10, + }) + ); + + const from = Math.min(selection.anchor, selection.head); + const to = Math.max(selection.anchor, selection.head); + + decs.push( + Decoration.inline(from, to, defaultSelectionBuilder(user), { + inclusiveEnd: true, + inclusiveStart: false, + }) + ); + + return DecorationSet.create(doc, decs); + }, + }, + }); + } +} + +const renderCursor = (user: { name: string; color: string }) => { + const cursorElement = document.createElement("span"); + + cursorElement.classList.add("bn-collaboration-cursor__base"); + cursorElement.setAttribute("data-active", "true"); + + const caretElement = document.createElement("span"); + caretElement.setAttribute("contentedEditable", "false"); + caretElement.classList.add("bn-collaboration-cursor__caret"); + caretElement.setAttribute("style", `background-color: ${user.color}`); + + const labelElement = document.createElement("span"); + + labelElement.classList.add("bn-collaboration-cursor__label"); + labelElement.setAttribute("style", `background-color: ${user.color}`); + labelElement.insertBefore(document.createTextNode(user.name), null); + + caretElement.insertBefore(labelElement, null); + + cursorElement.insertBefore(document.createTextNode("\u2060"), null); // Non-breaking space + cursorElement.insertBefore(caretElement, null); + cursorElement.insertBefore(document.createTextNode("\u2060"), null); // Non-breaking space + + return cursorElement; +}; diff --git a/packages/core/src/extensions/FormattingToolbar/FormattingToolbarPlugin.ts b/packages/core/src/extensions/FormattingToolbar/FormattingToolbarPlugin.ts index 907cb3435f..990017445a 100644 --- a/packages/core/src/extensions/FormattingToolbar/FormattingToolbarPlugin.ts +++ b/packages/core/src/extensions/FormattingToolbar/FormattingToolbarPlugin.ts @@ -25,7 +25,7 @@ export class FormattingToolbarView implements PluginView { state: EditorState; from: number; to: number; - }) => boolean = ({ state, from, to }) => { + }) => boolean = ({ view, state, from, to }) => { const { doc, selection } = state; const { empty } = selection; @@ -43,7 +43,15 @@ export class FormattingToolbarView implements PluginView { return false; } - return !(empty || isEmptyTextBlock); + if (empty || isEmptyTextBlock) { + return false; + } + + if (!view.hasFocus() && view.editable) { + // editable editors must have focus for the toolbar to show + return false; + } + return true; }; constructor( diff --git a/packages/core/src/extensions/SuggestionMenu/DefaultSuggestionItem.ts b/packages/core/src/extensions/SuggestionMenu/DefaultSuggestionItem.ts index 6789b76616..25a4b746fc 100644 --- a/packages/core/src/extensions/SuggestionMenu/DefaultSuggestionItem.ts +++ b/packages/core/src/extensions/SuggestionMenu/DefaultSuggestionItem.ts @@ -1,7 +1,5 @@ -import type { Dictionary } from "../../i18n/dictionary.js"; - export type DefaultSuggestionItem = { - key: keyof Omit; + key: string; title: string; onItemClick: () => void; subtext?: string; diff --git a/packages/core/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.ts b/packages/core/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.ts index 8e27866cc0..73986f14ad 100644 --- a/packages/core/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.ts +++ b/packages/core/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.ts @@ -323,8 +323,9 @@ export function filterSuggestionItems< ({ title, aliases }) => title.toLowerCase().includes(query.toLowerCase()) || (aliases && - aliases.filter((alias) => - alias.toLowerCase().includes(query.toLowerCase()) + aliases.filter( + (alias) => + alias === "" || alias.toLowerCase().includes(query.toLowerCase()) ).length !== 0) ); } diff --git a/packages/core/src/extensions/Suggestions/SuggestionMarks.ts b/packages/core/src/extensions/Suggestions/SuggestionMarks.ts new file mode 100644 index 0000000000..4cbf19b567 --- /dev/null +++ b/packages/core/src/extensions/Suggestions/SuggestionMarks.ts @@ -0,0 +1,167 @@ +import { Mark } from "@tiptap/core"; +import { MarkSpec } from "prosemirror-model"; + +// This copies the marks from @handlewithcare/prosemirror-suggest-changes, +// but uses the Tiptap Mark API instead so we can use them in BlockNote + +// The ideal solution would be to not depend on tiptap nodes / marks, but be able to use prosemirror nodes / marks directly +// this way we could directly use the exported marks from @handlewithcare/prosemirror-suggest-changes +export const SuggestionAddMark = Mark.create({ + name: "insertion", + inclusive: false, + excludes: "deletion modification insertion", + addAttributes() { + return { + id: { default: null, validate: "number" }, // note: validate is supported in prosemirror but not in tiptap, so this doesn't actually work (considered not critical) + }; + }, + extendMarkSchema(extension) { + if (extension.name !== "insertion") { + return {}; + } + return { + blocknoteIgnore: true, + inclusive: false, + + toDOM(mark, inline) { + return [ + "ins", + { + "data-id": String(mark.attrs["id"]), + "data-inline": String(inline), + ...(!inline && { style: "display: block" }), + }, + 0, + ]; + }, + parseDOM: [ + { + tag: "ins", + getAttrs(node) { + if (!node.dataset["id"]) return false; + return { + id: parseInt(node.dataset["id"], 10), + }; + }, + }, + ], + } satisfies MarkSpec; + }, +}); + +export const SuggestionDeleteMark = Mark.create({ + name: "deletion", + inclusive: false, + excludes: "insertion modification deletion", + addAttributes() { + return { + id: { default: null, validate: "number" }, // note: validate is supported in prosemirror but not in tiptap + }; + }, + extendMarkSchema(extension) { + if (extension.name !== "deletion") { + return {}; + } + return { + blocknoteIgnore: true, + inclusive: false, + + // attrs: { + // id: { validate: "number" }, + // }, + toDOM(mark, inline) { + return [ + "del", + { + "data-id": String(mark.attrs["id"]), + "data-inline": String(inline), + ...(!inline && { style: "display: contents" }), // changed to "contents" to make this work for table rows + }, + 0, + ]; + }, + parseDOM: [ + { + tag: "del", + getAttrs(node) { + if (!node.dataset["id"]) return false; + return { + id: parseInt(node.dataset["id"], 10), + }; + }, + }, + ], + } satisfies MarkSpec; + }, +}); + +export const SuggestionModificationMark = Mark.create({ + name: "modification", + inclusive: false, + excludes: "deletion insertion", + addAttributes() { + // note: validate is supported in prosemirror but not in tiptap + return { + id: { default: null, validate: "number" }, + type: { validate: "string" }, + attrName: { default: null, validate: "string|null" }, + previousValue: { default: null }, + newValue: { default: null }, + }; + }, + extendMarkSchema(extension) { + if (extension.name !== "modification") { + return {}; + } + return { + blocknoteIgnore: true, + inclusive: false, + // attrs: { + // id: { validate: "number" }, + // type: { validate: "string" }, + // attrName: { default: null, validate: "string|null" }, + // previousValue: { default: null }, + // newValue: { default: null }, + // }, + toDOM(mark, inline) { + return [ + inline ? "span" : "div", + { + "data-type": "modification", + "data-id": String(mark.attrs["id"]), + "data-mod-type": mark.attrs["type"] as string, + "data-mod-prev-val": JSON.stringify(mark.attrs["previousValue"]), + // TODO: Try to serialize marks with toJSON? + "data-mod-new-val": JSON.stringify(mark.attrs["newValue"]), + }, + 0, + ]; + }, + parseDOM: [ + { + tag: "span[data-type='modification']", + getAttrs(node) { + if (!node.dataset["id"]) return false; + return { + id: parseInt(node.dataset["id"], 10), + type: node.dataset["modType"], + previousValue: node.dataset["modPrevVal"], + newValue: node.dataset["modNewVal"], + }; + }, + }, + { + tag: "div[data-type='modification']", + getAttrs(node) { + if (!node.dataset["id"]) return false; + return { + id: parseInt(node.dataset["id"], 10), + type: node.dataset["modType"], + previousValue: node.dataset["modPrevVal"], + }; + }, + }, + ], + } satisfies MarkSpec; + }, +}); diff --git a/packages/core/src/extensions/TextAlignment/TextAlignmentExtension.ts b/packages/core/src/extensions/TextAlignment/TextAlignmentExtension.ts index cabde01b91..ba43c8fb1a 100644 --- a/packages/core/src/extensions/TextAlignment/TextAlignmentExtension.ts +++ b/packages/core/src/extensions/TextAlignment/TextAlignmentExtension.ts @@ -21,7 +21,11 @@ export const TextAlignmentExtension = Extension.create({ textAlignment: { default: "left", parseHTML: (element) => { - return element.getAttribute("data-text-alignment"); + return ( + element.getAttribute("data-text-alignment") || + element.style.textAlign || // TODO: also do better parsing for other marks? + undefined + ); }, renderHTML: (attributes) => { if (attributes.textAlignment === "left") { diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index be7060c85d..d6561eac10 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,10 +1,18 @@ +// TODO: internal? +export * from "./api/blockManipulation/commands/insertBlocks/insertBlocks.js"; +export * from "./api/blockManipulation/commands/replaceBlocks/replaceBlocks.js"; export * from "./api/blockManipulation/commands/updateBlock/updateBlock.js"; + export * from "./api/exporters/html/externalHTMLExporter.js"; export * from "./api/exporters/html/internalHTMLSerializer.js"; export * from "./api/getBlockInfoFromPos.js"; export * from "./api/nodeUtil.js"; export * from "./blocks/AudioBlockContent/AudioBlockContent.js"; export * from "./blocks/CodeBlockContent/CodeBlockContent.js"; +export * from "./blocks/defaultBlockHelpers.js"; +export * from "./blocks/defaultBlocks.js"; +export * from "./blocks/defaultBlockTypeGuards.js"; +export * from "./blocks/defaultProps.js"; export * from "./blocks/FileBlockContent/FileBlockContent.js"; export * from "./blocks/FileBlockContent/helpers/parse/parseEmbedElement.js"; export * from "./blocks/FileBlockContent/helpers/parse/parseFigureElement.js"; @@ -16,19 +24,16 @@ export * from "./blocks/FileBlockContent/helpers/toExternalHTML/createFigureWith export * from "./blocks/FileBlockContent/helpers/toExternalHTML/createLinkWithCaption.js"; export * from "./blocks/FileBlockContent/uploadToTmpFilesDotOrg_DEV_ONLY.js"; export * from "./blocks/ImageBlockContent/ImageBlockContent.js"; -export * from "./blocks/PageBreakBlockContent/PageBreakBlockContent.js"; export * from "./blocks/PageBreakBlockContent/getPageBreakSlashMenuItems.js"; +export * from "./blocks/PageBreakBlockContent/PageBreakBlockContent.js"; export * from "./blocks/PageBreakBlockContent/schema.js"; export { EMPTY_CELL_HEIGHT, EMPTY_CELL_WIDTH, } from "./blocks/TableBlockContent/TableExtension.js"; export * from "./blocks/VideoBlockContent/VideoBlockContent.js"; -export * from "./blocks/defaultBlockHelpers.js"; -export * from "./blocks/defaultBlockTypeGuards.js"; -export * from "./blocks/defaultBlocks.js"; -export * from "./blocks/defaultProps.js"; export * from "./editor/BlockNoteEditor.js"; +export * from "./editor/BlockNoteExtension.js"; export * from "./editor/BlockNoteExtensions.js"; export * from "./editor/BlockNoteSchema.js"; export * from "./editor/defaultColors.js"; @@ -42,22 +47,24 @@ export * from "./extensions/LinkToolbar/protocols.js"; export * from "./extensions/SideMenu/SideMenuPlugin.js"; export * from "./extensions/SuggestionMenu/DefaultGridSuggestionItem.js"; export * from "./extensions/SuggestionMenu/DefaultSuggestionItem.js"; -export * from "./extensions/SuggestionMenu/SuggestionPlugin.js"; export * from "./extensions/SuggestionMenu/getDefaultEmojiPickerItems.js"; export * from "./extensions/SuggestionMenu/getDefaultSlashMenuItems.js"; +export * from "./extensions/SuggestionMenu/SuggestionPlugin.js"; export * from "./extensions/TableHandles/TableHandlesPlugin.js"; export * from "./i18n/dictionary.js"; export * from "./schema/index.js"; export * from "./util/browser.js"; export * from "./util/combineByGroup.js"; export * from "./util/esmDependencies.js"; -export * from "./util/table.js"; export * from "./util/string.js"; +export * from "./util/table.js"; export * from "./util/typescript.js"; export type { CodeBlockOptions } from "./blocks/CodeBlockContent/CodeBlockContent.js"; -export { UnreachableCaseError, assertEmpty } from "./util/typescript.js"; +export { assertEmpty, UnreachableCaseError } from "./util/typescript.js"; +export * from "./util/EventEmitter.js"; +// for testing from react (TODO: move): // Unit testing export { selectedFragmentToHTML } from "./api/clipboard/toClipboard/copyExtension.js"; @@ -70,3 +77,7 @@ export * from "./extensions/UniqueID/UniqueID.js"; export * from "./api/exporters/markdown/markdownExporter.js"; export * from "./api/parsers/html/parseHTML.js"; export * from "./api/parsers/markdown/parseMarkdown.js"; + +// TODO: for ai, remove? +export * from "./api/blockManipulation/getBlock/getBlock.js"; +export * from "./api/positionMapping.js"; diff --git a/packages/core/src/pm-nodes/BlockContainer.ts b/packages/core/src/pm-nodes/BlockContainer.ts index ecd7f8068f..7d228a28bc 100644 --- a/packages/core/src/pm-nodes/BlockContainer.ts +++ b/packages/core/src/pm-nodes/BlockContainer.ts @@ -27,7 +27,7 @@ export const BlockContainer = Node.create<{ // Ensures content-specific keyboard handlers trigger first. priority: 50, defining: true, - + marks: "insertion modification deletion", parseHTML() { return [ { diff --git a/packages/core/src/pm-nodes/BlockGroup.ts b/packages/core/src/pm-nodes/BlockGroup.ts index 820b7eeb9d..3519a0cab9 100644 --- a/packages/core/src/pm-nodes/BlockGroup.ts +++ b/packages/core/src/pm-nodes/BlockGroup.ts @@ -8,7 +8,7 @@ export const BlockGroup = Node.create<{ name: "blockGroup", group: "childContainer", content: "blockGroupChild+", - + marks: "deletion insertion modification", parseHTML() { return [ { diff --git a/packages/core/src/pm-nodes/Doc.ts b/packages/core/src/pm-nodes/Doc.ts index 69d086b5d4..40af17b7fa 100644 --- a/packages/core/src/pm-nodes/Doc.ts +++ b/packages/core/src/pm-nodes/Doc.ts @@ -1,7 +1,8 @@ -import {Node} from "@tiptap/core"; +import { Node } from "@tiptap/core"; export const Doc = Node.create({ - name: "doc", - topNode: true, - content: "blockGroup", + name: "doc", + topNode: true, + content: "blockGroup", + marks: "insertion modification deletion", }); diff --git a/packages/dev-scripts/examples/template-react/package.json.template.tsx b/packages/dev-scripts/examples/template-react/package.json.template.tsx index cd85f8b850..bc32a79b47 100644 --- a/packages/dev-scripts/examples/template-react/package.json.template.tsx +++ b/packages/dev-scripts/examples/template-react/package.json.template.tsx @@ -1,7 +1,7 @@ import type { Project } from "../util"; const template = (project: Project) => ({ - name: "@blocknote/example-" + project.projectSlug, + name: "@blocknote/example-" + project.fullSlug.replace("/", "-"), description: "AUTO-GENERATED FILE, DO NOT EDIT DIRECTLY", private: true, version: "0.12.4", @@ -9,7 +9,7 @@ const template = (project: Project) => ({ start: "vite", dev: "vite", "build:prod": "tsc && vite build", - preview: "vite preview" + preview: "vite preview", }, dependencies: { "@blocknote/core": "latest", @@ -27,7 +27,7 @@ const template = (project: Project) => ({ "@vitejs/plugin-react": "^4.3.1", vite: "^5.3.4", ...(project.config?.devDependencies || {}), - } + }, }); export default template; diff --git a/packages/mantine/package.json b/packages/mantine/package.json index bc9fbc2fbc..b58a54b5fa 100644 --- a/packages/mantine/package.json +++ b/packages/mantine/package.json @@ -52,7 +52,8 @@ "build": "tsc && vite build", "preview": "vite preview", "lint": "eslint src --max-warnings 0", - "clean": "rimraf dist && rimraf types" + "clean": "rimraf dist && rimraf types", + "_prepare": "npm run build" }, "dependencies": { "@blocknote/core": "0.29.1", diff --git a/packages/mantine/src/form/TextInput.tsx b/packages/mantine/src/form/TextInput.tsx index e741deb46a..b781073588 100644 --- a/packages/mantine/src/form/TextInput.tsx +++ b/packages/mantine/src/form/TextInput.tsx @@ -1,6 +1,6 @@ import { TextInput as MantineTextInput } from "@mantine/core"; -import { assertEmpty } from "@blocknote/core"; +import { assertEmpty, mergeCSSClasses } from "@blocknote/core"; import { ComponentProps } from "@blocknote/react"; import { forwardRef } from "react"; @@ -12,13 +12,17 @@ export const TextInput = forwardRef< className, name, label, + variant, icon, value, autoFocus, placeholder, + disabled, onKeyDown, onChange, onSubmit, + autoComplete, + rightSection, ...rest } = props; @@ -27,7 +31,10 @@ export const TextInput = forwardRef< return ( ); }); diff --git a/packages/mantine/src/style.css b/packages/mantine/src/style.css index 7077fd87b4..23149a68e0 100644 --- a/packages/mantine/src/style.css +++ b/packages/mantine/src/style.css @@ -118,6 +118,12 @@ height: 32px; } +.bn-mantine .bn-mt-input-large .mantine-TextInput-input { + border: none; + font-size: 14px; + height: 52px; +} + /* Mantine Tooltip component base styles */ .bn-mantine .mantine-Tooltip-tooltip { background-color: transparent; @@ -323,6 +329,12 @@ height: 52px; } +.bn-mantine .bn-suggestion-menu-item-small { + height: fit-content; + /* Made to match with labels */ + padding: calc(var(--mantine-spacing-xs) / 2) var(--mantine-spacing-sm); +} + .bn-mantine .bn-suggestion-menu-item[aria-selected="true"], .bn-mantine .bn-suggestion-menu-item:hover { background-color: var(--bn-colors-hovered-background); @@ -338,6 +350,16 @@ padding: 8px; } +.bn-suggestion-menu-item-small .bn-mt-suggestion-menu-item-section[data-position="left"] { + background-color: transparent; + padding: 0; +} + +.bn-suggestion-menu-item-small .bn-mt-suggestion-menu-item-section[data-position="left"] svg { + height: 14px; + width: 14px; +} + .bn-mt-suggestion-menu-item-body { align-items: stretch; display: flex; @@ -356,6 +378,10 @@ padding: 0; } +.bn-suggestion-menu-item-small .bn-mt-suggestion-menu-item-title { + font-size: 12px; +} + .bn-mt-suggestion-menu-item-subtitle { color: var(--bn-colors-menu-text); line-height: 16px; @@ -364,8 +390,13 @@ padding: 0; } +.bn-suggestion-menu-item-small .bn-mt-suggestion-menu-item-subtitle { + display: none; +} + .bn-mantine .bn-suggestion-menu-label { color: var(--bn-colors-hovered-text); + font-weight: bold; } .bn-mantine .bn-suggestion-menu-loader { diff --git a/packages/mantine/src/suggestionMenu/SuggestionMenuItem.tsx b/packages/mantine/src/suggestionMenu/SuggestionMenuItem.tsx index c7db27e386..a758c39da0 100644 --- a/packages/mantine/src/suggestionMenu/SuggestionMenuItem.tsx +++ b/packages/mantine/src/suggestionMenu/SuggestionMenuItem.tsx @@ -27,7 +27,7 @@ export const SuggestionMenuItem = forwardRef< const overflow = elementOverflow( itemRef.current, - document.querySelector(".bn-suggestion-menu")! + document.querySelector(".bn-suggestion-menu, #ai-suggestion-menu")! // TODO ); if (overflow === "top") { @@ -44,6 +44,7 @@ export const SuggestionMenuItem = forwardRef< ref={mergeRefs(ref, itemRef)} id={id} role="option" + onMouseDown={(event) => event.preventDefault()} onClick={onClick} aria-selected={isSelected || undefined}> {item.icon && ( diff --git a/packages/mantine/src/toolbar/Toolbar.tsx b/packages/mantine/src/toolbar/Toolbar.tsx index 60e12a6dbe..a003304e55 100644 --- a/packages/mantine/src/toolbar/Toolbar.tsx +++ b/packages/mantine/src/toolbar/Toolbar.tsx @@ -5,8 +5,7 @@ import { ComponentProps } from "@blocknote/react"; import { mergeRefs, useFocusTrap, useFocusWithin } from "@mantine/hooks"; import { forwardRef } from "react"; -type ToolbarProps = ComponentProps["FormattingToolbar"]["Root"] & - ComponentProps["LinkToolbar"]["Root"]; +type ToolbarProps = ComponentProps["Generic"]["Toolbar"]["Root"]; export const Toolbar = forwardRef( (props, ref) => { diff --git a/packages/mantine/src/toolbar/ToolbarButton.tsx b/packages/mantine/src/toolbar/ToolbarButton.tsx index 5f88256796..20628f884f 100644 --- a/packages/mantine/src/toolbar/ToolbarButton.tsx +++ b/packages/mantine/src/toolbar/ToolbarButton.tsx @@ -26,8 +26,7 @@ export const TooltipContent = (props: { ); -type ToolbarButtonProps = ComponentProps["FormattingToolbar"]["Button"] & - ComponentProps["LinkToolbar"]["Button"]; +type ToolbarButtonProps = ComponentProps["Generic"]["Toolbar"]["Button"]; /** * Helper for basic buttons that show in the formatting toolbar. @@ -132,10 +131,12 @@ export const ToolbarButton = forwardRef( disabled={hideTooltip} withinPortal={false} label={ - + mainTooltip && ( + + ) }> {button} diff --git a/packages/react/package.json b/packages/react/package.json index e154caa9f9..fd41fb9883 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -54,7 +54,8 @@ "lint": "eslint src --max-warnings 0", "test": "vitest --run", "test:watch": "vitest --watch", - "clean": "rimraf dist && rimraf types" + "clean": "rimraf dist && rimraf types", + "_prepare": "npm run build" }, "dependencies": { "@blocknote/core": "0.29.1", diff --git a/packages/react/src/components/FormattingToolbar/DefaultSelects/BlockTypeSelect.tsx b/packages/react/src/components/FormattingToolbar/DefaultSelects/BlockTypeSelect.tsx index c37e27b967..8f4abde51f 100644 --- a/packages/react/src/components/FormattingToolbar/DefaultSelects/BlockTypeSelect.tsx +++ b/packages/react/src/components/FormattingToolbar/DefaultSelects/BlockTypeSelect.tsx @@ -35,6 +35,8 @@ export type BlockTypeSelectItem = { isSelected: ( block: Block ) => boolean; + showWhileSelected?: boolean; + showWhileNotSelected?: boolean; }; export const blockTypeSelectItems = ( @@ -117,10 +119,21 @@ export const BlockTypeSelect = (props: { items?: BlockTypeSelectItem[] }) => { const [block, setBlock] = useState(editor.getTextCursorPosition().block); const filteredItems: BlockTypeSelectItem[] = useMemo(() => { - return (props.items || blockTypeSelectItems(dict)).filter( - (item) => item.type in editor.schema.blockSchema - ); - }, [editor, dict, props.items]); + return (props.items || blockTypeSelectItems(dict)).filter((item) => { + const blockTypeInSchema = item.type in editor.schema.blockSchema; + const isSelected = item.isSelected(block); + + const showWhileSelected = + item.showWhileSelected === undefined || item.showWhileSelected; + const showWhileNotSelected = + item.showWhileNotSelected === undefined || item.showWhileNotSelected; + + return ( + blockTypeInSchema && + (isSelected ? showWhileSelected : showWhileNotSelected) + ); + }); + }, [props.items, dict, editor.schema.blockSchema, block]); const shouldShow: boolean = useMemo( () => filteredItems.find((item) => item.type === block.type) !== undefined, diff --git a/packages/react/src/components/SideMenu/SideMenu.tsx b/packages/react/src/components/SideMenu/SideMenu.tsx index d9f8fa6c3d..8f498700f5 100644 --- a/packages/react/src/components/SideMenu/SideMenu.tsx +++ b/packages/react/src/components/SideMenu/SideMenu.tsx @@ -48,6 +48,10 @@ export const SideMenu = < } } + if (props.block.type === "ai" && props.block.props.prompt) { + attrs["data-prompt"] = props.block.props.prompt.toString(); + } + return attrs; }, [props.block, props.editor.schema.blockSchema]); diff --git a/packages/react/src/components/SuggestionMenu/GridSuggestionMenu/hooks/useGridSuggestionMenuKeyboardNavigation.ts b/packages/react/src/components/SuggestionMenu/GridSuggestionMenu/hooks/useGridSuggestionMenuKeyboardNavigation.ts index 89875a1e6b..230cc998f7 100644 --- a/packages/react/src/components/SuggestionMenu/GridSuggestionMenu/hooks/useGridSuggestionMenuKeyboardNavigation.ts +++ b/packages/react/src/components/SuggestionMenu/GridSuggestionMenu/hooks/useGridSuggestionMenuKeyboardNavigation.ts @@ -53,6 +53,7 @@ export function useGridSuggestionMenuKeyboardNavigation( } if (event.key === "Enter" && !event.isComposing) { + event.stopPropagation(); event.preventDefault(); if (items.length) { diff --git a/packages/react/src/components/SuggestionMenu/SuggestionMenu.test.tsx b/packages/react/src/components/SuggestionMenu/SuggestionMenu.test.tsx index 4e5e1d77fb..386f2d6078 100644 --- a/packages/react/src/components/SuggestionMenu/SuggestionMenu.test.tsx +++ b/packages/react/src/components/SuggestionMenu/SuggestionMenu.test.tsx @@ -6,7 +6,7 @@ it("has good typing", () => { let menu = ( // @ts-expect-error [{ name: "hello" }]} + getItems={async () => [{ key: "hello" }]} triggerCharacter="/" /> ); @@ -16,6 +16,7 @@ it("has good typing", () => { [ { + key: "hello", title: "hello", onItemClick: () => { return; diff --git a/packages/react/src/components/SuggestionMenu/SuggestionMenu.tsx b/packages/react/src/components/SuggestionMenu/SuggestionMenu.tsx index 78eaa0ab31..b2fc1a755d 100644 --- a/packages/react/src/components/SuggestionMenu/SuggestionMenu.tsx +++ b/packages/react/src/components/SuggestionMenu/SuggestionMenu.tsx @@ -1,3 +1,4 @@ +import { mergeCSSClasses } from "@blocknote/core"; import { useMemo } from "react"; import { useComponentsContext } from "../../editor/ComponentsContext.js"; @@ -38,7 +39,10 @@ export function SuggestionMenu( renderedItems.push( = { heading: RiH1, heading_2: RiH2, heading_3: RiH3, diff --git a/packages/react/src/components/SuggestionMenu/hooks/useSuggestionMenuKeyboardHandler.ts b/packages/react/src/components/SuggestionMenu/hooks/useSuggestionMenuKeyboardHandler.ts new file mode 100644 index 0000000000..8d367ffdcf --- /dev/null +++ b/packages/react/src/components/SuggestionMenu/hooks/useSuggestionMenuKeyboardHandler.ts @@ -0,0 +1,59 @@ +import React, { useState } from "react"; + +// Hook which returns a handler for keyboard navigation of a suggestion menu. Up +// & down arrow keys are used to select an item, enter is used to execute it. +export function useSuggestionMenuKeyboardHandler( + items: Item[], + onItemClick?: (item: Item) => void +) { + const [selectedIndex, setSelectedIndex] = useState(0); + + return { + selectedIndex, + setSelectedIndex, + handler: (event: KeyboardEvent | React.KeyboardEvent) => { + if (event.key === "ArrowUp") { + event.preventDefault(); + + if (items.length) { + setSelectedIndex((selectedIndex - 1 + items!.length) % items!.length); + } + + return true; + } + + if (event.key === "ArrowDown") { + // debugger; + event.preventDefault(); + + if (items.length) { + setSelectedIndex((selectedIndex + 1) % items!.length); + } + + return true; + } + + const isComposing = isReactEvent(event) + ? event.nativeEvent.isComposing + : event.isComposing; + if (event.key === "Enter" && !isComposing) { + event.preventDefault(); + event.stopPropagation(); + + if (items.length) { + onItemClick?.(items[selectedIndex]); + } + + return true; + } + + return false; + }, + }; +} + +function isReactEvent( + event: KeyboardEvent | React.KeyboardEvent +): event is React.KeyboardEvent { + return (event as React.KeyboardEvent).nativeEvent !== undefined; +} diff --git a/packages/react/src/components/SuggestionMenu/hooks/useSuggestionMenuKeyboardNavigation.ts b/packages/react/src/components/SuggestionMenu/hooks/useSuggestionMenuKeyboardNavigation.ts index 8a9bb1019c..d1fdb82e31 100644 --- a/packages/react/src/components/SuggestionMenu/hooks/useSuggestionMenuKeyboardNavigation.ts +++ b/packages/react/src/components/SuggestionMenu/hooks/useSuggestionMenuKeyboardNavigation.ts @@ -1,5 +1,6 @@ import { BlockNoteEditor } from "@blocknote/core"; -import { useEffect, useState } from "react"; +import { useEffect } from "react"; +import { useSuggestionMenuKeyboardHandler } from "./useSuggestionMenuKeyboardHandler.js"; // Hook which handles keyboard navigation of a suggestion menu. Up & down arrow // keys are used to select a menu item, enter is used to execute it. @@ -7,65 +8,28 @@ export function useSuggestionMenuKeyboardNavigation( editor: BlockNoteEditor, query: string, items: Item[], - onItemClick?: (item: Item) => void + onItemClick?: (item: Item) => void, + element?: HTMLElement ) { - const [selectedIndex, setSelectedIndex] = useState(0); + const { selectedIndex, setSelectedIndex, handler } = + useSuggestionMenuKeyboardHandler(items, onItemClick); useEffect(() => { - const handleMenuNavigationKeys = (event: KeyboardEvent) => { - if (event.key === "ArrowUp") { - event.preventDefault(); - - if (items.length) { - setSelectedIndex((selectedIndex - 1 + items!.length) % items!.length); - } - - return true; - } - - if (event.key === "ArrowDown") { - event.preventDefault(); - - if (items.length) { - setSelectedIndex((selectedIndex + 1) % items!.length); - } - - return true; - } - - if (event.key === "Enter" && !event.isComposing) { - event.preventDefault(); - event.stopPropagation(); - - if (items.length) { - onItemClick?.(items[selectedIndex]); - } - - return true; - } - - return false; - }; - - editor.domElement?.addEventListener( - "keydown", - handleMenuNavigationKeys, - true - ); + (element || editor.domElement)?.addEventListener("keydown", handler, true); return () => { - editor.domElement?.removeEventListener( + (element || editor.domElement)?.removeEventListener( "keydown", - handleMenuNavigationKeys, + handler, true ); }; - }, [editor.domElement, items, selectedIndex, onItemClick]); + }, [editor.domElement, items, selectedIndex, onItemClick, element, handler]); // Resets index when items change useEffect(() => { setSelectedIndex(0); - }, [query]); + }, [query, setSelectedIndex]); return { selectedIndex: items.length === 0 ? undefined : selectedIndex, diff --git a/packages/react/src/components/SuggestionMenu/types.tsx b/packages/react/src/components/SuggestionMenu/types.tsx index a3d7968331..8d9029046f 100644 --- a/packages/react/src/components/SuggestionMenu/types.tsx +++ b/packages/react/src/components/SuggestionMenu/types.tsx @@ -4,8 +4,9 @@ import { DefaultSuggestionItem } from "@blocknote/core"; * Although any arbitrary data can be passed as suggestion items, the built-in * UI components such as `MantineSuggestionMenu` expect a shape that conforms to DefaultSuggestionItem */ -export type DefaultReactSuggestionItem = Omit & { +export type DefaultReactSuggestionItem = DefaultSuggestionItem & { icon?: JSX.Element; + size?: "default" | "small"; }; /** diff --git a/packages/react/src/editor/ComponentsContext.tsx b/packages/react/src/editor/ComponentsContext.tsx index 19f404e8d7..c72c267f1a 100644 --- a/packages/react/src/editor/ComponentsContext.tsx +++ b/packages/react/src/editor/ComponentsContext.tsx @@ -3,6 +3,7 @@ import { ComponentType, createContext, CSSProperties, + HTMLInputAutoCompleteAttribute, KeyboardEvent, MouseEvent, ReactNode, @@ -141,7 +142,7 @@ export type ComponentProps = { id: string; isSelected: boolean; onClick: () => void; - item: DefaultReactSuggestionItem; + item: Omit; }; Label: { className?: string; @@ -261,13 +262,17 @@ export type ComponentProps = { className?: string; name: string; label?: string; + variant?: "default" | "large"; icon: ReactNode; + rightSection?: ReactNode; autoFocus?: boolean; - placeholder: string; + placeholder?: string; + disabled?: boolean; value: string; onKeyDown: (event: KeyboardEvent) => void; onChange: (event: ChangeEvent) => void; onSubmit?: () => void; + autoComplete?: HTMLInputAutoCompleteAttribute; }; }; Menu: { diff --git a/packages/react/src/editor/styles.css b/packages/react/src/editor/styles.css index eed164ff37..878f988422 100644 --- a/packages/react/src/editor/styles.css +++ b/packages/react/src/editor/styles.css @@ -39,8 +39,8 @@ --bn-colors-highlights-pink-background: #f4dfeb; --bn-font-family: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, - "Open Sans", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", - "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + "Open Sans", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", + "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; --bn-border-radius: 6px; /* Derived values */ @@ -112,8 +112,8 @@ /* Indent line styling */ .bn-block-group -.bn-block-group -.bn-block-outer:not([data-prev-depth-changed])::before { + .bn-block-group + .bn-block-outer:not([data-prev-depth-changed])::before { border-left: 1px solid var(--bn-colors-side-menu); } @@ -258,11 +258,11 @@ } .bn-threads-sidebar .bn-thread.selected { - background-color: #F5F9FD; - border: 2px solid #C2DCF8; + background-color: #f5f9fd; + border: 2px solid #c2dcf8; } .dark .bn-threads-sidebar .bn-thread.selected { - background-color: #20242A; - border: 2px solid #23405B; + background-color: #20242a; + border: 2px solid #23405b; } diff --git a/packages/react/src/hooks/useUIElementPositioning.ts b/packages/react/src/hooks/useUIElementPositioning.ts index 8fedd7c156..f5765deda6 100644 --- a/packages/react/src/hooks/useUIElementPositioning.ts +++ b/packages/react/src/hooks/useUIElementPositioning.ts @@ -4,9 +4,16 @@ import { UseFloatingOptions, useInteractions, useTransitionStyles, + VirtualElement, } from "@floating-ui/react"; import { useEffect, useMemo } from "react"; +type ReferencePos = DOMRect | HTMLElement | VirtualElement | null; + +function isVirtualElement(element: ReferencePos): element is VirtualElement { + return (element as VirtualElement).getBoundingClientRect !== undefined; +} + type UIElementPosition = { isMounted: boolean; ref: (node: HTMLElement | null) => void; @@ -18,9 +25,9 @@ type UIElementPosition = { export function useUIElementPositioning( show: boolean, - referencePos: DOMRect | null, + referencePos: DOMRect | HTMLElement | VirtualElement | null, zIndex: number, - options?: Partial + options?: Partial ): UIElementPosition { const { refs, update, context, floatingStyles } = useFloating({ open: show, @@ -30,7 +37,7 @@ export function useUIElementPositioning( // handle "escape" and other dismiss events, these will add some listeners to // getFloatingProps which need to be attached to the floating element - const dismiss = useDismiss(context); + const dismiss = useDismiss(context, { enabled: options?.canDismiss }); const { getReferenceProps, getFloatingProps } = useInteractions([dismiss]); @@ -43,9 +50,16 @@ export function useUIElementPositioning( if (referencePos === null) { return; } - refs.setReference({ - getBoundingClientRect: () => referencePos, - }); + + if (referencePos instanceof HTMLElement) { + refs.setReference(referencePos); + } else if (isVirtualElement(referencePos)) { + refs.setReference(referencePos); + } else { + refs.setReference({ + getBoundingClientRect: () => referencePos, + }); + } }, [referencePos, refs]); return useMemo(() => { diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts index 9341b46171..58c80ee271 100644 --- a/packages/react/src/index.ts +++ b/packages/react/src/index.ts @@ -78,11 +78,11 @@ export * from "./components/FilePanel/FilePanel.js"; export * from "./components/FilePanel/FilePanelController.js"; export * from "./components/FilePanel/FilePanelProps.js"; +export * from "./components/TableHandles/ExtendButton/ExtendButton.js"; +export * from "./components/TableHandles/ExtendButton/ExtendButtonProps.js"; export * from "./components/TableHandles/TableHandle.js"; export * from "./components/TableHandles/TableHandleProps.js"; export * from "./components/TableHandles/TableHandlesController.js"; -export * from "./components/TableHandles/ExtendButton/ExtendButton.js"; -export * from "./components/TableHandles/ExtendButton/ExtendButtonProps.js"; export * from "./components/TableHandles/hooks/useExtendButtonsPositioning.js"; export * from "./components/TableHandles/hooks/useTableHandlesPositioning.js"; @@ -126,3 +126,7 @@ export * from "./schema/ReactStyleSpec.js"; export * from "./util/elementOverflow.js"; export * from "./util/mergeRefs.js"; + +export * from "./components/SuggestionMenu/hooks/useSuggestionMenuKeyboardHandler.js"; +export * from "./hooks/useUIElementPositioning.js"; +export * from "./hooks/useUIPluginState.js"; diff --git a/packages/server-util/package.json b/packages/server-util/package.json index 1e1d7847f4..6d5b348e15 100644 --- a/packages/server-util/package.json +++ b/packages/server-util/package.json @@ -52,7 +52,8 @@ "build": "tsc && vite build", "lint": "eslint src --max-warnings 0", "test": "vitest --run", - "test-watch": "vitest watch" + "test-watch": "vitest watch", + "_prepare": "npm run build" }, "dependencies": { "@blocknote/core": "0.29.1", diff --git a/packages/shadcn/package.json b/packages/shadcn/package.json index 3454eec888..28a7f19fd9 100644 --- a/packages/shadcn/package.json +++ b/packages/shadcn/package.json @@ -52,7 +52,8 @@ "build": "tsc && vite build", "preview": "vite preview", "lint": "eslint src --max-warnings 0", - "clean": "rimraf dist && rimraf types" + "clean": "rimraf dist && rimraf types", + "_prepare": "npm run build" }, "dependencies": { "@blocknote/core": "0.29.1", diff --git a/packages/shadcn/src/form/TextInput.tsx b/packages/shadcn/src/form/TextInput.tsx index 0aa393122e..71a3baeeb2 100644 --- a/packages/shadcn/src/form/TextInput.tsx +++ b/packages/shadcn/src/form/TextInput.tsx @@ -12,13 +12,17 @@ export const TextInput = forwardRef< className, name, label, + variant, icon, // TODO: implement value, autoFocus, placeholder, + disabled, onKeyDown, onChange, onSubmit, + autoComplete, + rightSection, // TODO: add rightSection ...rest } = props; @@ -33,10 +37,12 @@ export const TextInput = forwardRef< name={name} autoFocus={autoFocus} placeholder={placeholder} + disabled={disabled} value={value} onKeyDown={onKeyDown} onChange={onChange} onSubmit={onSubmit} + autoComplete={autoComplete} ref={ref} /> ); @@ -53,6 +59,7 @@ export const TextInput = forwardRef< name={name} autoFocus={autoFocus} placeholder={placeholder} + disabled={disabled} value={value} onKeyDown={onKeyDown} onChange={onChange} diff --git a/packages/shadcn/src/suggestionMenu/SuggestionMenuItem.tsx b/packages/shadcn/src/suggestionMenu/SuggestionMenuItem.tsx index 0ba138533d..5cbec26493 100644 --- a/packages/shadcn/src/suggestionMenu/SuggestionMenuItem.tsx +++ b/packages/shadcn/src/suggestionMenu/SuggestionMenuItem.tsx @@ -24,7 +24,7 @@ export const SuggestionMenuItem = forwardRef< const overflow = elementOverflow( itemRef.current, - document.querySelector(".bn-suggestion-menu")! + document.querySelector(".bn-suggestion-menu, #ai-suggestion-menu")! // TODO ); if (overflow === "top") { itemRef.current.scrollIntoView(true); @@ -38,21 +38,43 @@ export const SuggestionMenuItem = forwardRef< // Styles from ShadCN DropdownMenuItem component className={cn( "bn-relative bn-flex bn-cursor-pointer bn-select-none bn-items-center bn-rounded-sm bn-px-2 bn-py-1.5 bn-text-sm bn-outline-none bn-transition-colors focus:bn-bg-accent focus:bn-text-accent-foreground data-[disabled]:bn-pointer-events-none data-[disabled]:bn-opacity-50", + props.item.size === "small" ? "bn-gap-3 bn-py-1" : "", className )} ref={mergeRefs([ref, itemRef])} id={id} + onMouseDown={(event) => event.preventDefault()} onClick={onClick} role="option" aria-selected={isSelected || undefined}> {item.icon && ( -

+
{item.icon}
)}
-
{item.title}
-
{item.subtext}
+
+ {item.title} +
+
+ {item.subtext} +
{item.badge && (
diff --git a/packages/shadcn/src/toolbar/Toolbar.tsx b/packages/shadcn/src/toolbar/Toolbar.tsx index ba3fd592e7..06c05d59a7 100644 --- a/packages/shadcn/src/toolbar/Toolbar.tsx +++ b/packages/shadcn/src/toolbar/Toolbar.tsx @@ -5,8 +5,7 @@ import { forwardRef } from "react"; import { cn } from "../lib/utils.js"; import { useShadCNComponentsContext } from "../ShadCNComponentsContext.js"; -type ToolbarProps = ComponentProps["FormattingToolbar"]["Root"] & - ComponentProps["LinkToolbar"]["Root"]; +type ToolbarProps = ComponentProps["Generic"]["Toolbar"]["Root"]; export const Toolbar = forwardRef( (props, ref) => { @@ -41,8 +40,7 @@ export const Toolbar = forwardRef( } ); -type ToolbarButtonProps = ComponentProps["FormattingToolbar"]["Button"] & - ComponentProps["LinkToolbar"]["Button"]; +type ToolbarButtonProps = ComponentProps["Generic"]["Toolbar"]["Button"]; export const ToolbarButton = forwardRef( (props, ref) => { diff --git a/packages/xl-ai-server/.env.example b/packages/xl-ai-server/.env.example new file mode 100644 index 0000000000..9847a1df18 --- /dev/null +++ b/packages/xl-ai-server/.env.example @@ -0,0 +1 @@ +OPENAI_API_KEY= \ No newline at end of file diff --git a/packages/xl-ai-server/README.md b/packages/xl-ai-server/README.md new file mode 100644 index 0000000000..114334db58 --- /dev/null +++ b/packages/xl-ai-server/README.md @@ -0,0 +1,8 @@ +Requirements: + +- mkcert ([instructions](https://web.dev/articles/how-to-use-local-https)) + +Running (dev mode): + + mkcert localhost + npm run dev diff --git a/packages/xl-ai-server/package.json b/packages/xl-ai-server/package.json new file mode 100644 index 0000000000..01700b6576 --- /dev/null +++ b/packages/xl-ai-server/package.json @@ -0,0 +1,72 @@ +{ + "name": "@blocknote/xl-ai-server", + "homepage": "https://github.com/TypeCellOS/BlockNote", + "private": false, + "license": "AGPL-3.0 OR PROPRIETARY", + "version": "0.26.0", + "files": [ + "dist", + "types", + "src" + ], + "keywords": [ + "react", + "javascript", + "editor", + "typescript", + "prosemirror", + "wysiwyg", + "rich-text-editor", + "notion", + "yjs", + "block-based", + "tiptap" + ], + "description": "A \"Notion-style\" block-based extensible text editor built on top of Prosemirror and Tiptap.", + "type": "module", + "source": "src/index.ts", + "types": "./types/src/index.d.ts", + "main": "./dist/blocknote-xl-ai-server.umd.cjs", + "module": "./dist/blocknote-xl-ai-server.js", + "exports": { + ".": { + "types": "./types/src/index.d.ts", + "import": "./dist/blocknote-xl-ai-server.js", + "require": "./dist/blocknote-xl-ai-server.umd.cjs" + } + }, + "scripts": { + "dev": "vite-node src/index.ts", + "build": "tsc && vite build", + "start": "node dist/blocknote-xl-ai-server.js", + "lint": "eslint src --max-warnings 0", + "clean": "rimraf dist && rimraf types", + "test": "vitest --run", + "test-watch": "vitest watch" + }, + "dependencies": { + "@hono/node-server": "^1.13.7", + "hono": "^4.6.12" + }, + "devDependencies": { + "eslint": "^8.10.0", + "rimraf": "^5.0.5", + "rollup-plugin-webpack-stats": "^0.2.2", + "typescript": "^5.3.3", + "vite": "^5.3.4", + "vite-node": "^2.1.6", + "vite-plugin-eslint": "^1.8.1", + "vite-plugin-externalize-deps": "^0.8.0", + "vitest": "^2.0.3", + "undici": "^6" + }, + "eslintConfig": { + "extends": [ + "../../.eslintrc.js" + ] + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/packages/xl-ai-server/src/index.ts b/packages/xl-ai-server/src/index.ts new file mode 100644 index 0000000000..8dc70b9f63 --- /dev/null +++ b/packages/xl-ai-server/src/index.ts @@ -0,0 +1,105 @@ +import { serve } from "@hono/node-server"; +import { Hono } from "hono"; +import { cors } from "hono/cors"; +import { existsSync, readFileSync } from "node:fs"; +import { createSecureServer } from "node:http2"; +import { Agent, setGlobalDispatcher } from "undici"; + +// make sure our fetch request uses HTTP/2 +setGlobalDispatcher( + new Agent({ + allowH2: true, + }) +); + +const ignoreHeadersRe = /^content-(?:encoding|length|range)$/i; + +export const proxyFetch: typeof fetch = async (request, options) => { + const req = new Request(request, options); + req.headers.delete("accept-encoding"); // TBD: there may be cases where you want to explicitly specify + const res = await fetch(req); + + const headers: HeadersInit = [...res.headers.entries()].filter( + ([k]) => !ignoreHeadersRe.test(k) && k !== "strict-transport-security" + ); + return new Response(res.body, { + ...res, + status: res.status, + statusText: res.statusText, + headers, + }); +}; + +function getProviderInfo(provider: string) { + if (provider === "openai") { + return { + key: process.env.OPENAI_API_KEY, + }; + } + if (provider === "groq") { + return { + key: process.env.GROQ_API_KEY, + }; + } + if (provider === "albert-etalab") { + return { + key: process.env.ALBERT_ETALAB_API_KEY, + }; + } + return "not-found"; +} + +const app = new Hono(); + +app.use("/health", async (c) => { + return c.json({ status: "ok" }); +}); + +app.use("/ai", cors(), async (c) => { + const url = c.req.query("url"); + if (!url) { + return c.json({ error: "url parameter is required" }, 400); + } + + const provider = c.req.query("provider"); + if (!provider) { + return c.json({ error: "provider parameter is required" }, 400); + } + + const providerInfo = getProviderInfo(provider); + + if (providerInfo === "not-found" || !providerInfo.key?.length) { + return c.json( + { + error: `provider / key not found for provider ${provider}. Make sure to load correct env variables.`, + }, + 404 + ); + } + + // eslint-disable-next-line no-console + console.log("Proxying request to", url); + const request = new Request(url, c.req.raw); + request.headers.set("Authorization", `Bearer ${providerInfo.key}`); + return proxyFetch(request); +}); + +const http2 = existsSync("localhost.pem"); +serve( + { + fetch: app.fetch, + createServer: http2 ? createSecureServer : undefined, + + serverOptions: { + key: http2 ? readFileSync("localhost-key.pem") : undefined, + cert: http2 ? readFileSync("localhost.pem") : undefined, + }, + port: Number(process.env.PORT) || 3000, + }, + (info) => { + // eslint-disable-next-line no-console + console.log( + `Server is running on ${info.address}${info.port}, http2: ${http2}` + ); + } +); diff --git a/packages/xl-ai-server/tsconfig.json b/packages/xl-ai-server/tsconfig.json new file mode 100644 index 0000000000..d9eced7daa --- /dev/null +++ b/packages/xl-ai-server/tsconfig.json @@ -0,0 +1,32 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "moduleResolution": "Node", + "jsx": "react-jsx", + "strict": true, + "sourceMap": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "noEmit": false, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitReturns": true, + "outDir": "dist", + "declaration": true, + "declarationDir": "types", + "composite": true, + "skipLibCheck": true + }, + "include": ["src"], + "references": [ + { + "path": "../core" + }, + { + "path": "../react" + } + ] +} diff --git a/packages/xl-ai-server/vite.config.ts b/packages/xl-ai-server/vite.config.ts new file mode 100644 index 0000000000..c2041c3105 --- /dev/null +++ b/packages/xl-ai-server/vite.config.ts @@ -0,0 +1,54 @@ +import * as path from "path"; +import { webpackStats } from "rollup-plugin-webpack-stats"; +import { defineConfig } from "vite"; +import pkg from "./package.json"; +// import eslintPlugin from "vite-plugin-eslint"; + +// https://vitejs.dev/config/ +export default defineConfig((conf) => ({ + test: { + environment: "jsdom", + setupFiles: ["./vitestSetup.ts"], + }, + plugins: [webpackStats()], + // used so that vitest resolves the core package from the sources instead of the built version + resolve: { + alias: + conf.command === "build" + ? ({} as Record) + : ({ + // load live from sources with live reload working + "@blocknote/core": path.resolve(__dirname, "../core/src/"), + } as Record), + }, + build: { + sourcemap: true, + lib: { + entry: path.resolve(__dirname, "src/index.ts"), + name: "blocknote-xl-ai-server", + fileName: "blocknote-xl-ai-server", + }, + rollupOptions: { + // make sure to externalize deps that shouldn't be bundled + // into your library + external: [ + ...Object.keys({ + ...pkg.dependencies, + ...pkg.peerDependencies, + ...pkg.devDependencies, + }), + "node:fs", + "node:http2", + ], + output: { + // Provide global variables to use in the UMD build + // for externalized deps + globals: { + react: "React", + "react-dom": "ReactDOM", + }, + interop: "compat", // https://rollupjs.org/migration/#changed-defaults + }, + }, + }, +})); diff --git a/packages/xl-ai/package.json b/packages/xl-ai/package.json new file mode 100644 index 0000000000..f3aa4726cf --- /dev/null +++ b/packages/xl-ai/package.json @@ -0,0 +1,119 @@ +{ + "name": "@blocknote/xl-ai", + "homepage": "https://github.com/TypeCellOS/BlockNote", + "private": false, + "license": "AGPL-3.0 OR PROPRIETARY", + "version": "0.26.0", + "files": [ + "dist", + "types", + "src" + ], + "keywords": [ + "react", + "javascript", + "editor", + "typescript", + "prosemirror", + "wysiwyg", + "rich-text-editor", + "notion", + "yjs", + "block-based", + "tiptap" + ], + "description": "A \"Notion-style\" block-based extensible text editor built on top of Prosemirror and Tiptap.", + "type": "module", + "source": "src/index.ts", + "types": "./types/src/index.d.ts", + "main": "./dist/blocknote-xl-ai.umd.cjs", + "module": "./dist/blocknote-xl-ai.js", + "exports": { + ".": { + "types": "./types/src/index.d.ts", + "import": "./dist/blocknote-xl-ai.js", + "require": "./dist/blocknote-xl-ai.umd.cjs" + }, + "./style.css": { + "import": "./dist/style.css", + "require": "./dist/style.css" + } + }, + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "build-bundled": "tsc && vite build --config vite.config.bundled.ts && git checkout tmp-releases && rm -rf ../../release && mv ../../release-tmp ../../release", + "preview": "vite preview", + "lint": "eslint src --max-warnings 0", + "clean": "rimraf dist && rimraf types", + "test": "NODE_EXTRA_CA_CERTS=\"$(mkcert -CAROOT)/rootCA.pem\" vitest --run", + "test-watch": "vitest watch", + "_prepare": "npm run build" + }, + "dependencies": { + "@handlewithcare/prosemirror-suggest-changes": "^0.1.3", + "prosemirror-changeset": "^2.3.0", + "prosemirror-tables": "^1.6.4", + "prosemirror-transform": "^1.10.4", + "prosemirror-model": "^1.24.1", + "@ewoudenberg/difflib": "^0.1.0", + "@ai-sdk/openai-compatible": "^0.2.0", + "@ai-sdk/openai": "^1.3.0", + "@ai-sdk/groq": "^1.2.0", + "@blocknote/core": "workspace:*", + "@blocknote/mantine": "workspace:*", + "@blocknote/react": "workspace:*", + "@floating-ui/react": "^0.26.4", + "@tiptap/core": "^2.7.1", + "lodash.isequal": "^4.5.0", + "ai": "^4.2.1", + "diff": "^7.0.0", + "json-schema": "^0.4.0", + "json-diff": "^1.0.6", + "json-diff-kit": "^1.0.29", + "prosemirror-state": "^1.4.3", + "prosemirror-view": "^1.33.7", + "react": "^18", + "react-dom": "^18", + "react-icons": "^5.2.1", + "remark-parse": "^10.0.1", + "remark-stringify": "^10.0.2", + "unified": "^10.1.2", + "zustand": "^5.0.3" + }, + "devDependencies": { + "@types/lodash.isequal": "^4.5.8", + "@types/diff": "^6.0.0", + "@types/json-diff": "^1.0.3", + "@types/react": "^18.0.25", + "@types/react-dom": "^18.0.9", + "@vitejs/plugin-react": "^4.3.1", + "eslint": "^8.10.0", + "@mswjs/interceptors": "^0.37.5", + "headers-polyfill": "^4.0.3", + "msw": "^2.7.3", + "msw-snapshot": "^5.2.0", + "rimraf": "^5.0.5", + "rollup-plugin-webpack-stats": "^0.2.2", + "typescript": "^5.3.3", + "vite": "^5.3.4", + "vite-plugin-eslint": "^1.8.1", + "vite-plugin-externalize-deps": "^0.8.0", + "vitest": "^2.0.3", + "@vitest/runner": "^2.0.3", + "undici": "^6" + }, + "peerDependencies": { + "react": "^18", + "react-dom": "^18" + }, + "eslintConfig": { + "extends": [ + "../../.eslintrc.js" + ] + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/packages/xl-ai/src/AIExtension.ts b/packages/xl-ai/src/AIExtension.ts new file mode 100644 index 0000000000..f9a4b37adc --- /dev/null +++ b/packages/xl-ai/src/AIExtension.ts @@ -0,0 +1,278 @@ +import { + BlockNoteEditor, + BlockNoteExtension, + UnreachableCaseError, +} from "@blocknote/core"; +import { + applySuggestions, + revertSuggestions, + suggestChanges, +} from "@handlewithcare/prosemirror-suggest-changes"; +import { LanguageModel } from "ai"; +import { Plugin, PluginKey } from "prosemirror-state"; +import { fixTablesKey } from "prosemirror-tables"; +import { createStore } from "zustand/vanilla"; +import { PromptOrMessages, llm } from "./api"; +import { CallLLMResult } from "./api/formats/CallLLMResult"; +import { LLMRequestOptions } from "./api/streamTool/callLLMWithStreamTools"; +// type AIPluginState = { +// aiMenuBlockID: string | undefined; +// aiMenuResponseStatus: "initial" | "generating" | "error" | "done"; +// }; + +type AIPluginState = { + /** + * zustand design considerations: + * - moved this to a nested object to have better typescript typing + * - if we'd do this without a nested object, then we could easily set "wrong" values, + * because "setState" takes a partial object (unless the second parameter "replace" = true), + * and thus we'd lose typescript's typing help + * + */ + aiMenuState: + | { + blockId: string; + status: + | "user-input" + | "thinking" + | "ai-writing" + | "error" + | "user-reviewing"; + } + | "closed"; +}; + +// parameters that are shared across all calls and can be configured on the context as "application wide" settings +type GlobalLLMCallOptions = { + model: LanguageModel; + dataFormat?: "html" | "json" | "markdown"; + stream?: boolean; +}; + +// parameters that are specific to each call +type CallSpecificCallLLMOptions = Partial & + Omit & + PromptOrMessages & { + defaultStreamTools?: { + /** Enable the add tool (default: true) */ + add?: boolean; + /** Enable the update tool (default: true) */ + update?: boolean; + /** Enable the delete tool (default: true) */ + delete?: boolean; + }; + }; + +// TO DISCUSS: extension vs plugin vs addon vs .. +export class AIExtension extends BlockNoteExtension { + public static name(): string { + return "ai"; + } + + /** + * zustand design considerations + * + * - setters are not added in this store, but as class methods so we can have control over what to expose as API + * - con: if we'd expose the store externally, consumers could still call store.setState :/ (for this store it's not desired, for `options` below, it is) + * + */ + public readonly store = createStore()((_set) => ({ + aiMenuState: "closed", + })); + + /** + * zustand design considerations + * + * - I decided to create a separate store for the options as they feel quite different from "internal state" + * above. They're not so much "state", but more "configuration". I still think it's useful to have in a Zustand + * store (instead of a just a plain object), because consumers might want to display the settings in the UI. + * Case can also be made to make this a plain and leave the responsibility of displaying settings to the consumer + * (and not have a store for this at all). TO DISCUSS + */ + public readonly options: ReturnType< + ReturnType>> + >; + + // used for undo, not needed in store + // private prevDocument: typeof this.editor.document | undefined; + + constructor( + public readonly editor: BlockNoteEditor, + options: GlobalLLMCallOptions + ) { + super(); + this.options = createStore>()((_set) => ({ + dataFormat: "html", + stream: true, + ...options, + })); + } + + /** + * Open the AI menu at a specific block + */ + public openAIMenuAtBlock(blockID: string) { + this.editor.setForceSelectionVisible(true); + this.editor.isEditable = false; + this.store.setState({ + aiMenuState: { + blockId: blockID, + status: "user-input", + }, + }); + } + + /** + * Close the AI menu + */ + public closeAIMenu() { + this.store.setState({ + aiMenuState: "closed", + }); + this.editor.setForceSelectionVisible(false); + this.editor.isEditable = true; + this.editor.focus(); + // this.prevDocument = undefined; + } + + /** + * Accept the changes made by the LLM + */ + public acceptChanges() { + applySuggestions(this.editor.prosemirrorState, (tr) => { + // TODO: @Nick, I don't think there's currently a cleaner way to do this? + this.editor._tiptapEditor.dispatch(tr); + }); + this.closeAIMenu(); + } + + /** + * Reject the changes made by the LLM + */ + public rejectChanges() { + revertSuggestions(this.editor.prosemirrorState, (tr) => { + // TODO: @Nick, I don't think there's currently a cleaner way to do this? + this.editor._tiptapEditor.dispatch(tr); + }); + this.closeAIMenu(); + } + + /** + * Update the status of a call to an LLM + * + * @warning This method should usually only be used for advanced use-cases + * if you want to implement how an LLM call is executed. Usually, you should + * use {@link callLLM} instead. + */ + public setAIResponseStatus( + status: + | "user-input" + | "thinking" + | "ai-writing" + | "error" + | "user-reviewing" + ) { + const aiMenuState = this.store.getState().aiMenuState; + if (aiMenuState === "closed") { + return; // TODO: log error? + } + + if (status === "ai-writing") { + this.editor.setForceSelectionVisible(false); + } + + this.store.setState({ + aiMenuState: { + status: status, + blockId: aiMenuState.blockId, + }, + }); + } + + /** + * Execute a call to an LLM and apply the result to the editor + */ + public async callLLM(opts: CallSpecificCallLLMOptions) { + const options = { + ...this.options.getState(), + ...opts, + }; + + this.setAIResponseStatus("thinking"); + + try { + let ret: CallLLMResult; + + // TODO: maybe separate functions for streaming / non-streaming? + if (options.dataFormat === "json") { + throw new Error("not implemented"); + // ret = await llm.json.call(this.editor, options); + } else if (options.dataFormat === "markdown") { + throw new Error("not implemented"); + // ret = await llm.markdown.call(this.editor, options); + } else if (options.dataFormat === "html") { + ret = await llm.html.call(this.editor, { + ...options, + onStart: () => { + this.setAIResponseStatus("ai-writing"); // TODO: also apply to other formats + }, + }); + } else { + throw new UnreachableCaseError(options.dataFormat); + } + + // TODO: maybe split out the applying of operations + await ret.execute(); + // for await (const operation of ret.applyToolCallsStream) { + // if (operation.result === "ok") { + // // TODO: check should be part of pipeline + // // NOTE: does this setState with an anon object trigger unnecessary re-renders? + // this.store.setState({ + // aiMenuState: { + // blockId: operation.lastBlockId, + // status: "ai-writing", + // }, + // }); + // } + // } + + this.setAIResponseStatus("user-reviewing"); + } catch (e) { + this.setAIResponseStatus("error"); + // eslint-disable-next-line no-console + console.warn("Error calling LLM", e); + } + } + + public plugins = [ + new Plugin({ + key: PLUGIN_KEY, + filterTransaction: (tr) => { + const menuState = this.store.getState().aiMenuState; + + if (menuState !== "closed" && menuState.status === "ai-writing") { + if (tr.getMeta(fixTablesKey)?.fixTables) { + // the fixtables plugin causes the steps between of the AI Agent to become invalid + // so we need to prevent it from running + // (we might need to filter out other / or maybe any transactions during the writing phase) + return false; + } + } + return true; + }, + }), + suggestChanges(), + ]; +} + +const PLUGIN_KEY = new PluginKey(`blocknote-ai-plugin`); + +export function createAIExtension(options: GlobalLLMCallOptions) { + return (editor: BlockNoteEditor) => { + return new AIExtension(editor, options); + }; +} + +export function getAIExtension(editor: BlockNoteEditor) { + return editor.extension(AIExtension); +} diff --git a/packages/xl-ai/src/api/blocknoteAIClient/client.ts b/packages/xl-ai/src/api/blocknoteAIClient/client.ts new file mode 100644 index 0000000000..24e83526c6 --- /dev/null +++ b/packages/xl-ai/src/api/blocknoteAIClient/client.ts @@ -0,0 +1,68 @@ +/** + * Fetch function to proxy requests to the @blocknote/xl-ai-server AI server. + */ +const fetchViaBlockNoteAIServer = + (baseURL: string, provider: string) => + async (input: string | URL | Request, init?: RequestInit) => { + const request = new Request(input, init); + + // console.log("fetchViaBlockNoteAIServer", baseURL, provider, request); + const newRequest = new Request( + `${baseURL}?provider=${encodeURIComponent( + provider + )}&url=${encodeURIComponent(request.url)}`, + { + headers: request.headers, + // if we just pass request.body, it's a readablestream which is not visible in chrome inspector, + // so use init?.body instead if it's available to make debugging easier + body: init?.body || request.body, + method: request.method, + duplex: "half", + } as any + ); + const resp = await fetch(newRequest); + return resp; + }; + +/** + * Create a client to connect to the @blocknote/xl-ai-server AI server. + * The BlockNote AI server is a proxy for AI model providers. It allows you to connect to + * AI SDKs without exposing your model provider's API keys on the client. + * + * @param config - settings to connect to the @blocknote/xl-ai-server AI server + * @returns a client to connect to the @blocknote/xl-ai-server AI server. + * Use the `getProviderSettings` method to get the provider settings for the AI SDKs, + * this will configure the AI SDK model to connect via the @blocknote/xl-ai-server AI server. + */ +export function createBlockNoteAIClient(config: { + /** + * baseURL of the @blocknote/xl-ai-server AI server + */ + baseURL: string; + /** + * API key for the @blocknote/xl-ai-server AI server + */ + apiKey: string; +}) { + return { + /** + * Get settings for AI SDK providers. Pass the returned objects when creating the AI SDK provider, e.g.: + * + * createOpenAI({ + * ...client.getProviderSettings("openai"), + * })("gpt-4o-2024-08-06", {}); + * + * Explanation: we override the `fetch` and `apiKey` parameters of the AI SDK provider to instead + * use the BlockNote AI server to proxy requests to the provider. + * + * Note: the `apiKey` is the API key for the @blocknote/xl-ai-server AI server, not the model provider. + * The correct API key for the model provider will be added by the BlockNote AI server. + */ + getProviderSettings: (provider: "openai" | "groq" | string) => { + return { + apiKey: config.apiKey, + fetch: fetchViaBlockNoteAIServer(config.baseURL, provider), + }; + }, + }; +} diff --git a/packages/xl-ai/src/api/executor/streamOperations/__snapshots__/changeset.test.ts.snap b/packages/xl-ai/src/api/executor/streamOperations/__snapshots__/changeset.test.ts.snap new file mode 100644 index 0000000000..8884a24e5d --- /dev/null +++ b/packages/xl-ai/src/api/executor/streamOperations/__snapshots__/changeset.test.ts.snap @@ -0,0 +1,21 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`update complex paragraph 1`] = `[]`; + +exports[`update simple paragraph 1`] = ` +[ + { + "from": 3, + "slice": { + "content": [ + { + "text": "What's up", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 8, + }, +] +`; diff --git a/packages/xl-ai/src/api/executor/streamOperations/__snapshots__/partialUpdate.test.ts.snap b/packages/xl-ai/src/api/executor/streamOperations/__snapshots__/partialUpdate.test.ts.snap new file mode 100644 index 0000000000..a3f35e3ab3 --- /dev/null +++ b/packages/xl-ai/src/api/executor/streamOperations/__snapshots__/partialUpdate.test.ts.snap @@ -0,0 +1,142 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`should be able to apply changes to a clean doc (use invertMap) 1`] = ` +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "marks": [ + { + "type": "deletion", + }, + ], + "text": "Hello", + "type": "text", + }, + { + "text": "What's up, world!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} +`; + +exports[`should be able to apply changes to a clean doc (use rebaseTr) 1`] = ` +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "marks": [ + { + "type": "deletion", + }, + ], + "text": "Hello", + "type": "text", + }, + { + "text": "What's up, world!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} +`; + +exports[`should create some example suggestions 1`] = ` +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "marks": [ + { + "type": "deletion", + }, + ], + "text": "Hello", + "type": "text", + }, + { + "marks": [ + { + "type": "insertion", + }, + ], + "text": "Hi", + "type": "text", + }, + { + "text": ", world!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} +`; diff --git a/packages/xl-ai/src/api/executor/streamOperations/applyOperations.test.ts b/packages/xl-ai/src/api/executor/streamOperations/applyOperations.test.ts new file mode 100644 index 0000000000..41e10cd1d3 --- /dev/null +++ b/packages/xl-ai/src/api/executor/streamOperations/applyOperations.test.ts @@ -0,0 +1,260 @@ +import { describe, expect, it } from "vitest"; +import { + getTestEditor, + testUpdateOperations, +} from "../../../testUtil/updates/updateOperations.js"; + +import { + BlockNoteEditor, + prosemirrorSliceToSlicedBlocks, +} from "@blocknote/core"; +import { partialBlockToBlockForTesting } from "@shared/formatConversionTestUtil.js"; +import { getAIExtension } from "../../../AIExtension.js"; +import { CallLLMResult } from "../../formats/CallLLMResult.js"; +import { tools } from "../../formats/json/tools/index.js"; +import { AddBlocksToolCall } from "../../tools/createAddBlocksTool.js"; +import { UpdateBlockToolCall } from "../../tools/createUpdateBlockTool.js"; +import { DeleteBlockToolCall } from "../../tools/delete.js"; +import { createAsyncIterableStreamFromAsyncIterable } from "../../util/stream.js"; + +// TODO: make possible to apply steps without agent mode +// TODO: organize unit tests +// TODO: fix unit tests + +describe("applyOperations", () => { + // Helper function to create a mock stream from operations + async function* createMockStream( + ...operations: { + operation: + | AddBlocksToolCall + | UpdateBlockToolCall + | DeleteBlockToolCall; + isUpdateToPreviousOperation?: boolean; + isPossiblyPartial?: boolean; + }[] + ) { + for (const op of operations) { + yield { + isUpdateToPreviousOperation: false, + isPossiblyPartial: false, + ...op, + }; + } + } + + // Helper function to process operations and return results + async function processOperations( + editor: BlockNoteEditor, + stream: AsyncIterable<{ + operation: + | AddBlocksToolCall + | UpdateBlockToolCall + | DeleteBlockToolCall; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }>, + selection?: { + from: number; + to: number; + } + ) { + + // TODO: idsSuffixed + const streamTools = [ + tools.add(editor, {idsSuffixed: true, withDelays: false}), + tools.update(editor, {idsSuffixed: true, withDelays: false, updateSelection: selection}), + tools.delete(editor, {idsSuffixed: true, withDelays: false}) + ]; + + const result = new CallLLMResult({ + operationsSource: createAsyncIterableStreamFromAsyncIterable( stream), + streamObjectResult: undefined, + generateObjectResult: undefined, + }, streamTools); + + await result.execute(); + + await getAIExtension(editor).acceptChanges(); + + return result; + } + + it("should apply insert operations to the editor", async () => { + const editor = getTestEditor(); + const insertOp = { + operation: { + type: "add", + blocks: [{ content: "block1" }], + referenceId: "ref1", + position: "after", + } as AddBlocksToolCall, + }; + + const result = await processOperations(editor, createMockStream(insertOp)); + + // Should call insertBlocks with the right parameters + expect(editor.document[1]).toMatchObject({ + content: [{ text: "block1" }], + }); + + // Should yield the operation with result: "ok" + // expect(result.length).toBe(8); + // expect(result[0]).toEqual({ + // isPossiblyPartial: false, + // isUpdateToPreviousOperation: false, + // lastBlockId: "0", + // operation: insertOp.operation, + // result: "ok", + // }); + }); + + for (const testCase of testUpdateOperations) { + // eslint-disable-next-line no-loop-func + it(`should apply update operations to the editor (${testCase.description})`, async () => { + + // TODO: quite some code duplicated here from other tests + + const editor = testCase.editor(); + const selection = testCase.getTestSelection?.(editor); + + const result = await processOperations( + editor, + createMockStream({ operation: testCase.updateOp }), + selection + ); + + // Should call updateBlock with the right parameters + const update = testCase.updateOp.block; + let block = editor.getBlock(testCase.updateOp.id)!; + if (selection) { + const selectionInfo = prosemirrorSliceToSlicedBlocks( + editor.prosemirrorState.doc.slice(selection.from, selection.to, true), + editor.pmSchema + ); + block = selectionInfo.blocks[0]; + } + if (update.type) { + // eslint-disable-next-line + expect(block.type).toEqual(update.type); + } + if (update.props) { + // eslint-disable-next-line + expect(block.props).toMatchObject(update.props); + } + + if (update.content) { + const partialBlock = { + type: block.type, + ...update, + }; + // eslint-disable-next-line + expect(block.content).toEqual( + partialBlockToBlockForTesting(editor.schema.blockSchema, partialBlock) + .content + ); + } + + // Should yield the operation with result: "ok" + // expect(result.length).toBe(14); + // expect(result[0]).toEqual({ + // isPossiblyPartial: false, + // isUpdateToPreviousOperation: false, + // lastBlockId: testCase.updateOp.id, + // operation: testCase.updateOp, + // result: "ok", + // }); + }); + } + + it("should apply remove operations to the editor", async () => { + const editor = getTestEditor(); + const startDocLength = editor.document.length; + const removeOp = { + operation: { + type: "delete", + id: "ref1", + } as DeleteBlockToolCall, + }; + + const result = await processOperations(editor, createMockStream(removeOp)); + + // Should call removeBlocks with the right parameters + expect(editor.document.length).toBe(startDocLength - 1); + expect(editor.document[0].id).toEqual("ref2"); + + // Should yield the operation with result: "ok" + // expect(result.length).toBe(2); + // expect(result[0]).toEqual({ + // isPossiblyPartial: false, + // isUpdateToPreviousOperation: false, + // lastBlockId: "ref1", + // operation: removeOp.operation, + // result: "ok", + // }); + }); + + it("should handle multiple operations in sequence", async () => { + const editor = getTestEditor(); + const startDocLength = editor.document.length; + const insertOp = { + operation: { + type: "add", + blocks: [{ content: "block1" }], + referenceId: "ref1", + position: "before", + } as AddBlocksToolCall, + }; + + const updateOp = { + operation: { + type: "update", + id: "ref1", + block: { content: "updated content" }, + } as UpdateBlockToolCall, + }; + + await processOperations(editor, createMockStream(insertOp, updateOp)); + + // Should call all the editor methods with the right parameters + expect(editor.document[0]).toMatchObject({ + content: [{ text: "block1" }], + }); + + expect(editor.document[1]).toMatchObject({ + content: [{ text: "updated content" }], + }); + + expect(editor.document.length).toBe(startDocLength + 1); + }); + + it("should handle multiple operations in sequence with selection", async () => { + const editor = getTestEditor(); + const startDocLength = editor.document.length; + const insertOp = { + operation: { + type: "add", + blocks: [{ content: "block1" }], + referenceId: "ref1", + position: "before", + } as AddBlocksToolCall, + }; + + const updateOp = testUpdateOperations.filter(t => t.description === "translate selection")[0]; + + await processOperations(editor, createMockStream(insertOp, { + operation: updateOp.updateOp + }),updateOp.getTestSelection?.(editor)); + + // Should call all the editor methods with the right parameters + expect(editor.document[0]).toMatchObject({ + content: [{ text: "block1" }], + }); + + expect((editor.document[2].content as any).length).toBeGreaterThan(1) + expect((editor.document[2].content as any)[0]).toMatchObject({ + text: "Hallo, ", + }); + + expect(editor.document.length).toBe(startDocLength + 1); + }); +}); diff --git a/packages/xl-ai/src/api/executor/streamOperations/index.ts b/packages/xl-ai/src/api/executor/streamOperations/index.ts new file mode 100644 index 0000000000..b3e46c7035 --- /dev/null +++ b/packages/xl-ai/src/api/executor/streamOperations/index.ts @@ -0,0 +1,4 @@ +export { filterNewOrUpdatedOperations } from "../../streamTool/filterNewOrUpdatedOperations.js"; +export { filterValidOperations } from "../../streamTool/filterValidOperations.js"; +export { toValidatedOperations } from "../../streamTool/toValidatedOperations.js"; + diff --git a/packages/xl-ai/src/api/formats/CallLLMResult.ts b/packages/xl-ai/src/api/formats/CallLLMResult.ts new file mode 100644 index 0000000000..e22401568b --- /dev/null +++ b/packages/xl-ai/src/api/formats/CallLLMResult.ts @@ -0,0 +1,48 @@ +import { OperationsResult } from "../streamTool/callLLMWithStreamTools.js"; +import { StreamTool, StreamToolCall } from "../streamTool/streamTool.js"; + +/** + * Result of an LLM call with stream tools that apply changes to a BlockNote Editor + */ +export class CallLLMResult { + /** + * @internal + */ + constructor( + /** + * Result of the underlying LLM call. Use this to access operations the LLM decided to execute, but without applying them. + * (usually this is only used for advanced used cases or debugging) + */ + public readonly llmResult: OperationsResult, + + private readonly streamTools: StreamTool[] + ) {} + + /** + * Apply the operations to the editor and return a stream of results. + * + * (this method consumes underlying streams in `llmResult`) + */ + async *applyToolCalls() { + let currentStream: AsyncIterable<{ + operation: StreamToolCall[]>; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }> = this.llmResult.operationsSource; + for (const tool of this.streamTools) { + currentStream = tool.execute(currentStream); + } + yield* currentStream; + } + + /** + * Helper method to apply all operations to the editor if you're not interested in intermediate operations and results. + * + * (this method consumes underlying streams in `llmResult`) + */ + public async execute() { + for await (const _result of this.applyToolCalls()) { + // no op + } + } +} diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/deletes a paragraph_1_67ad67d998b3861e118e79f058850d71.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/deletes a paragraph_1_67ad67d998b3861e118e79f058850d71.json new file mode 100644 index 0000000000..fdd275ebef --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/deletes a paragraph_1_67ad67d998b3861e118e79f058850d71.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"

World

\\\"}]\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-282438c60350460387ae8ce72b8d98df\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-296666893e764673bed7630b67619803\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"delete\\\", \\\"id\\\": \\\"0$\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}]},\"stop_reason\":null}],\"created\":1742851930,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":18,\"prompt_tokens\":701,\"total_tokens\":719,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/deletes a paragraph_1_7c8b43e8384b57453ff2fb1c2c6fdf81.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/deletes a paragraph_1_7c8b43e8384b57453ff2fb1c2c6fdf81.json new file mode 100644 index 0000000000..823972075e --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/deletes a paragraph_1_7c8b43e8384b57453ff2fb1c2c6fdf81.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"

World

\\\"}]\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/deletes a paragraph_1_0ab073bcc3c486b078f476ffdac6a58a.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/deletes a paragraph_1_0ab073bcc3c486b078f476ffdac6a58a.json new file mode 100644 index 0000000000..d293254ffd --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/deletes a paragraph_1_0ab073bcc3c486b078f476ffdac6a58a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"

World

\\\"}]\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-02cc9c7a-1774-4fc4-a5c5-ba7c629842cb\",\"object\":\"chat.completion\",\"created\":1743024149,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_nja6\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"delete\\\", \\\"id\\\": \\\"0$\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.100076155,\"prompt_tokens\":517,\"prompt_time\":0.043140061,\"completion_tokens\":20,\"completion_time\":0.072727273,\"total_tokens\":537,\"total_time\":0.115867334},\"system_fingerprint\":\"fp_c4760ee73b\",\"x_groq\":{\"id\":\"req_01jqa5bnb0errtwcryxpg00nq2\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/deletes a paragraph_1_7e9b2f6b5409654cd6b57fa6e5fd6aa0.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/deletes a paragraph_1_7e9b2f6b5409654cd6b57fa6e5fd6aa0.json new file mode 100644 index 0000000000..90ac08f3b9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/deletes a paragraph_1_7e9b2f6b5409654cd6b57fa6e5fd6aa0.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"

World

\\\"}]\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-312dbd54-d398-427f-92e1-0af2590252ef\",\"object\":\"chat.completion\",\"created\":1742851854,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_sg9t\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"delete\\\", \\\"id\\\": \\\"0$\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.100994052,\"prompt_tokens\":526,\"prompt_time\":0.043698667,\"completion_tokens\":20,\"completion_time\":0.086386606,\"total_tokens\":546,\"total_time\":0.130085273},\"system_fingerprint\":\"fp_90c1d253ff\",\"x_groq\":{\"id\":\"req_01jq511kkqeyn95w1f03wek0p6\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/deletes a paragraph_1_5f3e7fc087bb309fd89081e38606ddf0.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/deletes a paragraph_1_5f3e7fc087bb309fd89081e38606ddf0.json new file mode 100644 index 0000000000..9407d63b4f --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/deletes a paragraph_1_5f3e7fc087bb309fd89081e38606ddf0.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"

World

\\\"}]\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 500, + "statusText": "", + "body": "{\"error\":{\"message\":\"Internal Server Error\",\"type\":\"internal_server_error\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/deletes a paragraph_1_5fea20ff83184b31232306376465676b.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/deletes a paragraph_1_5fea20ff83184b31232306376465676b.json new file mode 100644 index 0000000000..8abe1590d5 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/deletes a paragraph_1_5fea20ff83184b31232306376465676b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"

World

\\\"}]\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-284ff145-1a50-4da1-9708-9da2d2bec22d\",\"object\":\"chat.completion.chunk\",\"created\":1743024127,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5azrdfctttc5v721akq72\"}}\n\ndata: {\"id\":\"chatcmpl-284ff145-1a50-4da1-9708-9da2d2bec22d\",\"object\":\"chat.completion.chunk\",\"created\":1743024127,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_3mmp\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"delete\\\", \\\"id\\\": \\\"0$\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-284ff145-1a50-4da1-9708-9da2d2bec22d\",\"object\":\"chat.completion.chunk\",\"created\":1743024127,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5azrdfctttc5v721akq72\",\"usage\":{\"queue_time\":0.10079558999999999,\"prompt_tokens\":517,\"prompt_time\":0.035746723,\"completion_tokens\":20,\"completion_time\":0.072727273,\"total_tokens\":537,\"total_time\":0.108473996}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_23e8f44d81973df34c7b6f85390c4790.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_23e8f44d81973df34c7b6f85390c4790.json new file mode 100644 index 0000000000..360bea4fbe --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_23e8f44d81973df34c7b6f85390c4790.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"

World

\\\"}]\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjephIWMVdDsvbxZrZwQWPTExMuU\",\n \"object\": \"chat.completion\",\n \"created\": 1742851799,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_YSMMaU2rmjiWs1g8SToJg6Mm\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"delete\\\",\\\"id\\\":\\\"0$\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 233,\n \"completion_tokens\": 15,\n \"total_tokens\": 248,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_2d4ce8c62140381657e89b60f9187d93.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_2d4ce8c62140381657e89b60f9187d93.json new file mode 100644 index 0000000000..a473f6040c --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_2d4ce8c62140381657e89b60f9187d93.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"

World

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTw0AFpS7e137WkykmweNHgoG5ugz\",\n \"object\": \"chat.completion\",\n \"created\": 1746474170,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_pD0S2PQ1evDgz9Wgy09347iM\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"delete\\\",\\\"id\\\":\\\"0$\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 436,\n \"completion_tokens\": 15,\n \"total_tokens\": 451,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_d6a5926f616cd39868003ab44b47d729.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_d6a5926f616cd39868003ab44b47d729.json new file mode 100644 index 0000000000..a46c41c19c --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_d6a5926f616cd39868003ab44b47d729.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"

World

\\\"}]\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSU92rV5IsLEPlfezAYpeQlNJ5SG\",\n \"object\": \"chat.completion\",\n \"created\": 1743024117,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_HIYC3orGOIz1JNkL1NWEOllD\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"delete\\\",\\\"id\\\":\\\"0$\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 224,\n \"completion_tokens\": 15,\n \"total_tokens\": 239,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/deletes a paragraph_1_82174239ff8eda6117584628090a4631.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/deletes a paragraph_1_82174239ff8eda6117584628090a4631.json new file mode 100644 index 0000000000..753897445c --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/deletes a paragraph_1_82174239ff8eda6117584628090a4631.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"

World

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_aerjRizF143Ctc85DWoveCmp\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"delete\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUjMMotQ7519DCn1tjtBXWNS4Vf8\",\"object\":\"chat.completion.chunk\",\"created\":1746607668,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/deletes a paragraph_1_a1935cff87bcd9476747bdc06c5b1077.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/deletes a paragraph_1_a1935cff87bcd9476747bdc06c5b1077.json new file mode 100644 index 0000000000..e306aedc0f --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/deletes a paragraph_1_a1935cff87bcd9476747bdc06c5b1077.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"

World

\\\"}]\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_TBkiL8JC9r1UUFPaVruQIqwO\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"delete\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA4RJQCdYY8SKLeEZb5KqeSqIh6\",\"object\":\"chat.completion.chunk\",\"created\":1743022872,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at end_1_07b696e04ff4ad79aff112f40827860a.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at end_1_07b696e04ff4ad79aff112f40827860a.json new file mode 100644 index 0000000000..13b9e5b4c9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at end_1_07b696e04ff4ad79aff112f40827860a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-7b4e2ce6-f2c9-475c-b4c0-d5419393cc4f\",\"object\":\"chat.completion\",\"created\":1743024151,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_rbkp\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"after\\\",\\\"blocks\\\":[\\\"\\u003cp\\u003eTest\\u003c/p\\u003e\\\"]}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.101187522,\"prompt_tokens\":510,\"prompt_time\":0.060713384,\"completion_tokens\":32,\"completion_time\":0.116363636,\"total_tokens\":542,\"total_time\":0.17707702},\"system_fingerprint\":\"fp_c4760ee73b\",\"x_groq\":{\"id\":\"req_01jqa5bpxwerss6gp4y28vdn8k\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at end_1_c17ddd8d44c361ab298d23eb75e765e8.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at end_1_c17ddd8d44c361ab298d23eb75e765e8.json new file mode 100644 index 0000000000..35083a97f1 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at end_1_c17ddd8d44c361ab298d23eb75e765e8.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-d6f139a9-0f11-4020-9f79-3d767aece32c\",\"object\":\"chat.completion\",\"created\":1742851857,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_n24k\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"add\\\", \\\"referenceId\\\": \\\"0$\\\", \\\"position\\\": \\\"after\\\", \\\"blocks\\\": [\\\"\\u003cp\\u003eTest\\u003c/p\\u003e\\\"]}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":2.8626354440000004,\"prompt_tokens\":519,\"prompt_time\":0.06258531,\"completion_tokens\":39,\"completion_time\":0.141818182,\"total_tokens\":558,\"total_time\":0.204403492},\"system_fingerprint\":\"fp_2ddfbb0da0\",\"x_groq\":{\"id\":\"req_01jq511m9cfnx8505dat0nf8gn\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_0e18dea26a8da29261df12717e3377dc.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_0e18dea26a8da29261df12717e3377dc.json new file mode 100644 index 0000000000..8b592327b5 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_0e18dea26a8da29261df12717e3377dc.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-689ee989-521e-4686-b4a2-df436bbb70ae\",\"object\":\"chat.completion\",\"created\":1743024151,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_bqby\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"add\\\", \\\"referenceId\\\": \\\"0$\\\", \\\"position\\\": \\\"before\\\", \\\"blocks\\\": [\\\"\\u003cp\\u003eTest\\u003c/p\\u003e\\\"]}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":1.04447738,\"prompt_tokens\":509,\"prompt_time\":0.064356871,\"completion_tokens\":39,\"completion_time\":0.141818182,\"total_tokens\":548,\"total_time\":0.206175053},\"system_fingerprint\":\"fp_fcc3b74982\",\"x_groq\":{\"id\":\"req_01jqa5bnmzers8atvt0adjzenm\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_b1c8e1ca2c7aab796f706d11df880925.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_b1c8e1ca2c7aab796f706d11df880925.json new file mode 100644 index 0000000000..3196b882ca --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_b1c8e1ca2c7aab796f706d11df880925.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-fda6bd35-d9a9-48ec-9bdb-7d5c474d7135\",\"object\":\"chat.completion\",\"created\":1742851854,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_qbeq\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"before\\\",\\\"blocks\\\":[\\\"\\u003cp\\u003eTest\\u003c/p\\u003e\\\"]}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.129595027,\"prompt_tokens\":518,\"prompt_time\":0.069198015,\"completion_tokens\":32,\"completion_time\":0.116363636,\"total_tokens\":550,\"total_time\":0.185561651},\"system_fingerprint\":\"fp_b1483399f5\",\"x_groq\":{\"id\":\"req_01jq511ky5fnxaeqvra8r8n9k6\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at end_1_4ce3cb18c690bfc894b44fbfdf837ab9.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at end_1_4ce3cb18c690bfc894b44fbfdf837ab9.json new file mode 100644 index 0000000000..ec5aa1846a --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at end_1_4ce3cb18c690bfc894b44fbfdf837ab9.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-c87c7057-7f98-4342-892d-16d21e8a593c\",\"object\":\"chat.completion.chunk\",\"created\":1742851817,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq510fghfen9aa7hzgr4f5eb\"}}\n\ndata: {\"id\":\"chatcmpl-c87c7057-7f98-4342-892d-16d21e8a593c\",\"object\":\"chat.completion.chunk\",\"created\":1742851817,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_d3m4\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"after\\\",\\\"blocks\\\":[\\\"\\u003cp\\u003eTest\\u003c/p\\u003e\\\"]}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-c87c7057-7f98-4342-892d-16d21e8a593c\",\"object\":\"chat.completion.chunk\",\"created\":1742851817,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq510fghfen9aa7hzgr4f5eb\",\"usage\":{\"queue_time\":0.108187697,\"prompt_tokens\":519,\"prompt_time\":0.033743533,\"completion_tokens\":32,\"completion_time\":0.116363636,\"total_tokens\":551,\"total_time\":0.150107169}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at end_1_d8ad01cba0f511aa9c17641f39e3525b.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at end_1_d8ad01cba0f511aa9c17641f39e3525b.json new file mode 100644 index 0000000000..4d310c207c --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at end_1_d8ad01cba0f511aa9c17641f39e3525b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-0b81cdae-3d23-4e00-a4c6-906dbff8c104\",\"object\":\"chat.completion.chunk\",\"created\":1743024130,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_fcc3b74982\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5b0d3fctv22e3x9j1spjz\"}}\n\ndata: {\"id\":\"chatcmpl-0b81cdae-3d23-4e00-a4c6-906dbff8c104\",\"object\":\"chat.completion.chunk\",\"created\":1743024130,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_fcc3b74982\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_96q0\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"add\\\", \\\"position\\\": \\\"after\\\", \\\"referenceId\\\": \\\"0$\\\", \\\"blocks\\\": [\\\"\\u003cp\\u003eTest\\u003c/p\\u003e\\\"]}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-0b81cdae-3d23-4e00-a4c6-906dbff8c104\",\"object\":\"chat.completion.chunk\",\"created\":1743024130,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_fcc3b74982\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5b0d3fctv22e3x9j1spjz\",\"usage\":{\"queue_time\":1.7427066919999998,\"prompt_tokens\":510,\"prompt_time\":0.065127187,\"completion_tokens\":39,\"completion_time\":0.141818182,\"total_tokens\":549,\"total_time\":0.206945369}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at start_1_87610c6236ac01f29007a4451bfae630.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at start_1_87610c6236ac01f29007a4451bfae630.json new file mode 100644 index 0000000000..e5d6fb5fb6 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at start_1_87610c6236ac01f29007a4451bfae630.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-a6e0017f-6eb0-4bcd-8423-f324c9435833\",\"object\":\"chat.completion.chunk\",\"created\":1742851816,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq510f6cexp83yaa6d5frmc7\"}}\n\ndata: {\"id\":\"chatcmpl-a6e0017f-6eb0-4bcd-8423-f324c9435833\",\"object\":\"chat.completion.chunk\",\"created\":1742851816,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_adym\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"before\\\",\\\"blocks\\\":[\\\"\\u003cp\\u003eTest\\u003c/p\\u003e\\\"]}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-a6e0017f-6eb0-4bcd-8423-f324c9435833\",\"object\":\"chat.completion.chunk\",\"created\":1742851816,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq510f6cexp83yaa6d5frmc7\",\"usage\":{\"queue_time\":0.108456576,\"prompt_tokens\":518,\"prompt_time\":0.033584484,\"completion_tokens\":32,\"completion_time\":0.116363636,\"total_tokens\":550,\"total_time\":0.14994812}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at start_1_9acdba716ae38965e3abcd1465c9db58.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at start_1_9acdba716ae38965e3abcd1465c9db58.json new file mode 100644 index 0000000000..f9cf144423 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at start_1_9acdba716ae38965e3abcd1465c9db58.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-f14da915-9d45-409d-bcac-c9de572e2604\",\"object\":\"chat.completion.chunk\",\"created\":1743024128,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5b005ergteh6v2f1dzyzn\"}}\n\ndata: {\"id\":\"chatcmpl-f14da915-9d45-409d-bcac-c9de572e2604\",\"object\":\"chat.completion.chunk\",\"created\":1743024128,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_0ybx\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"add\\\", \\\"referenceId\\\": \\\"0$\\\", \\\"position\\\": \\\"before\\\", \\\"blocks\\\": [\\\"\\u003cp\\u003eTest\\u003c/p\\u003e\\\"]}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-f14da915-9d45-409d-bcac-c9de572e2604\",\"object\":\"chat.completion.chunk\",\"created\":1743024128,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5b005ergteh6v2f1dzyzn\",\"usage\":{\"queue_time\":0.098299461,\"prompt_tokens\":509,\"prompt_time\":0.073251341,\"completion_tokens\":39,\"completion_time\":0.141818182,\"total_tokens\":548,\"total_time\":0.215069523}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_4c60c32b45648bafb25f563f4a596e49.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_4c60c32b45648bafb25f563f4a596e49.json new file mode 100644 index 0000000000..dd7eb90990 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_4c60c32b45648bafb25f563f4a596e49.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjetj3UWmgUXG7YFpaONMNvIXE4R\",\n \"object\": \"chat.completion\",\n \"created\": 1742851803,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_QaTXWAVe5F5kYeNcgDOmdTQ3\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"after\\\",\\\"blocks\\\":[\\\"

Test

\\\"]}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 226,\n \"completion_tokens\": 31,\n \"total_tokens\": 257,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_64cc15fa8dfb103bb68d5d0fda4bc7fe.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_64cc15fa8dfb103bb68d5d0fda4bc7fe.json new file mode 100644 index 0000000000..be6207c566 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_64cc15fa8dfb103bb68d5d0fda4bc7fe.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSUB0fmqtaUVboG9dtJDaTxW974P\",\n \"object\": \"chat.completion\",\n \"created\": 1743024119,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_qs1EYvmYKECK1PNv3cgwgllj\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"after\\\",\\\"blocks\\\":[\\\"

Test

\\\"]}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 217,\n \"completion_tokens\": 31,\n \"total_tokens\": 248,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_adcd6032dec2507a8cda96ed693827ba.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_adcd6032dec2507a8cda96ed693827ba.json new file mode 100644 index 0000000000..76906f41f3 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_adcd6032dec2507a8cda96ed693827ba.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BUXzzg8oE1TBLDHDlwXetuUBUO3dV\",\n \"object\": \"chat.completion\",\n \"created\": 1746620231,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_E1W4Is3CREbiLGD8y1Yp7Osj\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"after\\\",\\\"blocks\\\":[\\\"

Test

\\\"]}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 428,\n \"completion_tokens\": 31,\n \"total_tokens\": 459,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_90122d973c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_30cf2fe95ca8a189687d0e4d19ceb46b.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_30cf2fe95ca8a189687d0e4d19ceb46b.json new file mode 100644 index 0000000000..721687466d --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_30cf2fe95ca8a189687d0e4d19ceb46b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BUVzKbw7fO1j6pq1hITDhTcccVFMD\",\n \"object\": \"chat.completion\",\n \"created\": 1746612502,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_cglHMUxkSVaiERleNmTw4VhE\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"before\\\",\\\"blocks\\\":[\\\"

Test

\\\"]}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 427,\n \"completion_tokens\": 31,\n \"total_tokens\": 458,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_90122d973c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_49602668af275e790a24387e69e98eed.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_49602668af275e790a24387e69e98eed.json new file mode 100644 index 0000000000..0a2aedf968 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_49602668af275e790a24387e69e98eed.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSUA6bhE3XvnoWym9aZ0tbJfrdKE\",\n \"object\": \"chat.completion\",\n \"created\": 1743024118,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_OVv34zRMCxdpBcOTxsX2seDQ\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"before\\\",\\\"blocks\\\":[\\\"

Test

\\\"]}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 216,\n \"completion_tokens\": 31,\n \"total_tokens\": 247,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_f4b8b28f74c8f7b790f2d091d6e07f31.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_f4b8b28f74c8f7b790f2d091d6e07f31.json new file mode 100644 index 0000000000..c64430e0f7 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_f4b8b28f74c8f7b790f2d091d6e07f31.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjesfvoYs1WoK67b3q8yfy8er7qR\",\n \"object\": \"chat.completion\",\n \"created\": 1742851802,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_P7c3apMOXe93kXx7npE75DaG\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"before\\\",\\\"blocks\\\":[\\\"

Test

\\\"]}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 225,\n \"completion_tokens\": 31,\n \"total_tokens\": 256,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at end_1_0b08f2fe4043b9cc04d39b3450e4643a.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at end_1_0b08f2fe4043b9cc04d39b3450e4643a.json new file mode 100644 index 0000000000..cec4b16712 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at end_1_0b08f2fe4043b9cc04d39b3450e4643a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_6XWSknZjNW6FwX2vcbcnDXDj\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"add\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"reference\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"position\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"after\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"blocks\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Test\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA8WB1PKeKC9hCtklEtTIKODHv2\",\"object\":\"chat.completion.chunk\",\"created\":1743022876,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at end_1_3277167fb12d5203fb9f4cb16242c9ad.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at end_1_3277167fb12d5203fb9f4cb16242c9ad.json new file mode 100644 index 0000000000..99573acd83 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at end_1_3277167fb12d5203fb9f4cb16242c9ad.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_3YHaFCGY8iueesaOqpW0LBUI\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"add\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"reference\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"position\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"after\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"blocks\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Test\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUlkjL3UraltW5DhQhyXHNddpwk2\",\"object\":\"chat.completion.chunk\",\"created\":1746607816,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at start_1_0367933d1b21d67d587cba5c038b7133.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at start_1_0367933d1b21d67d587cba5c038b7133.json new file mode 100644 index 0000000000..878865dfba --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at start_1_0367933d1b21d67d587cba5c038b7133.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_0M1IdFcuFSkiVi10uZ2Pk4Is\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"add\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"reference\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"position\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"before\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"blocks\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Test\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BUUljfDa48uRKY8aw0s3Ukq0rSiUc\",\"object\":\"chat.completion.chunk\",\"created\":1746607815,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_90122d973c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at start_1_9eda2352f3d5bd1c22f59d000d43f7ac.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at start_1_9eda2352f3d5bd1c22f59d000d43f7ac.json new file mode 100644 index 0000000000..b8b295a623 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at start_1_9eda2352f3d5bd1c22f59d000d43f7ac.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"

Hello

\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_zr3boPkzOZp7cy910DlFGP6P\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"add\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"reference\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"position\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"before\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"blocks\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Test\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSA6gZ3QzgShbbf8aTX6PACd2cOC\",\"object\":\"chat.completion.chunk\",\"created\":1743022874,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/drop mark and link and change text within mark_1_6986df1ce276fc3d96f221d8425d9b18.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/drop mark and link and change text within mark_1_6986df1ce276fc3d96f221d8425d9b18.json new file mode 100644 index 0000000000..f8e8ea6ebe --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/drop mark and link and change text within mark_1_6986df1ce276fc3d96f221d8425d9b18.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-4f78b310d1894a48baeb349ddb4e2506\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-f541e30a364b4fdda800f435f28adf28\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": \\\"

Hi, world! Bold the text. Link.

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635635,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":37,\"prompt_tokens\":1025,\"total_tokens\":1062,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/drop mark and link_1_6a69205310653d1d7f5c87d37b81c33e.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/drop mark and link_1_6a69205310653d1d7f5c87d37b81c33e.json new file mode 100644 index 0000000000..071cb14324 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/drop mark and link_1_6a69205310653d1d7f5c87d37b81c33e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-e05e2b296a924d27bb816bfb06ce3651\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-00d162fd4056413bbd55cdaf19d94df0\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": \\\"

Hello, world! Bold text. Link.

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635633,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":35,\"prompt_tokens\":1019,\"total_tokens\":1054,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/plain source block, add mention_1_4d74eb2d8b0c605a2894c40c6e4b9e61.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/plain source block, add mention_1_4d74eb2d8b0c605a2894c40c6e4b9e61.json new file mode 100644 index 0000000000..94730376bc --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/plain source block, add mention_1_4d74eb2d8b0c605a2894c40c6e4b9e61.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-7c0ff6a6c40a4c3c89c9c0d4b9ef1f06\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-1a5dd67c46404a51b1b68786767a2621\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"

Hello, @Jane Doe!

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635628,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":50,\"prompt_tokens\":1017,\"total_tokens\":1067,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/remove column_1_865190f2994483fe18e577bd57ebfb19.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/remove column_1_865190f2994483fe18e577bd57ebfb19.json new file mode 100644 index 0000000000..8c21014721 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/remove column_1_865190f2994483fe18e577bd57ebfb19.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Remove the second column\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-a720f448df404a109e1e791f1aa76b4c\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-bb50034541304f798a300e4ddc9da663\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"

Table Cell 1

Table Cell 3

Table Cell 4

Table Cell 6

Table Cell 7

Table Cell 9

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635648,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":159,\"prompt_tokens\":1086,\"total_tokens\":1245,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/remove last column_1_e1f64ef8803ed9c01dc307ffaa4f401d.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/remove last column_1_e1f64ef8803ed9c01dc307ffaa4f401d.json new file mode 100644 index 0000000000..c9b5cc4ba2 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/remove last column_1_e1f64ef8803ed9c01dc307ffaa4f401d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Remove the last column\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-6fcd73144f834655be31a46b4c912eef\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-8c0b1a21729e42c9ae14ff31f9e20bfd\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"

Table Cell 1

Table Cell 2

Table Cell 4

Table Cell Bold 5

Table Cell 7

Table Cell 8

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635653,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":164,\"prompt_tokens\":1086,\"total_tokens\":1250,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/remove last row_1_19268fc09b78ab13b0b4398695a6b6fc.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/remove last row_1_19268fc09b78ab13b0b4398695a6b6fc.json new file mode 100644 index 0000000000..b178679aca --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/remove last row_1_19268fc09b78ab13b0b4398695a6b6fc.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Remove the last row\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-9d74dbe65f4945499d27d2b00564b9af\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-ba2a3cef80774502bcdbc1cacab5955d\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Remove the second row\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-b86ee4a4c4e747019aded1d528c069ae\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-4f9aad96e1cd4937b1249363f9c8e227\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"delete\\\", \\\"id\\\": \\\"ref1$\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635658,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":19,\"prompt_tokens\":1086,\"total_tokens\":1105,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/standard update_1_ce75f42dbd714e633119967ab1ffdf6e.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/standard update_1_ce75f42dbd714e633119967ab1ffdf6e.json new file mode 100644 index 0000000000..9dab445142 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/standard update_1_ce75f42dbd714e633119967ab1ffdf6e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"translate the first paragraph to german\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-6b2263c7befd44ffbcdc30e763a5c724\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-06d57f84c69d492da8be4c73ddaefcd7\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"

Hallo, Welt!

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746620356,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":31,\"prompt_tokens\":1008,\"total_tokens\":1039,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, remove mark_1_e3b912385d3f9835d857297ea64870d2.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, remove mark_1_e3b912385d3f9835d857297ea64870d2.json new file mode 100644 index 0000000000..d24bdbf76c --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, remove mark_1_e3b912385d3f9835d857297ea64870d2.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-7c7fe5967cdc443794f52d5bdf03e7d0\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-5145376696bd486d9aac799935156ef8\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"

Hello, @John Doe! How I'm feeling blue!

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635621,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":57,\"prompt_tokens\":1010,\"total_tokens\":1067,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, remove mention_1_5a61369cbb49bd2b6aa29478e96b532e.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, remove mention_1_5a61369cbb49bd2b6aa29478e96b532e.json new file mode 100644 index 0000000000..9370e28528 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, remove mention_1_5a61369cbb49bd2b6aa29478e96b532e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing? I'm feeling blue!' (remove mention but keep bold text)\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-9a32ded753b34819ba412ba844fe6ea3\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-9657a51c4b1b4483800603bd1adbf27d\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"

Hello! How are you doing? I\\\\u0027m feeling blue!

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635623,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":56,\"prompt_tokens\":1026,\"total_tokens\":1082,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, replace content_1_a39e80503bfad51d70acc9fa72daf1ef.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, replace content_1_a39e80503bfad51d70acc9fa72daf1ef.json new file mode 100644 index 0000000000..500f100f9c --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, replace content_1_a39e80503bfad51d70acc9fa72daf1ef.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-f3b67d567e7c4b9d8e403e6c9c08509e\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-3b49e2e990734bff95c124eb5a5d2cdd\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"

Hello, updated content

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635615,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":31,\"prompt_tokens\":1016,\"total_tokens\":1047,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, update mention prop_1_958b466e7d8fe0f3edabd4cb3e5285bf.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, update mention prop_1_958b466e7d8fe0f3edabd4cb3e5285bf.json new file mode 100644 index 0000000000..3331961290 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, update mention prop_1_958b466e7d8fe0f3edabd4cb3e5285bf.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-5f5c17e4ddff4c53a9555c68eaf2db13\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-20b9c349e6e342159c234a5239c55a2b\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"

Hello, @Jane Doe! How are you doing? I'm feeling blue!

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635630,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":75,\"prompt_tokens\":1008,\"total_tokens\":1083,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, update text_1_1891ec4fc1215325524abc13d09de134.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, update text_1_1891ec4fc1215325524abc13d09de134.json new file mode 100644 index 0000000000..39c65b65ba --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, update text_1_1891ec4fc1215325524abc13d09de134.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"translate the second block to german\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-88c06128f65449dc8a644aa3bf1cad62\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-6c08c7807d704805aacd809e25d1e1b7\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"

Hallo, @John Doe! Wie geht es dir? Ich f\\\\u00fchle mich blau!

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635617,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":83,\"prompt_tokens\":1008,\"total_tokens\":1091,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in target block, add mark (paragraph)_1_4cdaf42f33ea819394b0ca0d1d908263.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in target block, add mark (paragraph)_1_4cdaf42f33ea819394b0ca0d1d908263.json new file mode 100644 index 0000000000..9837acd417 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in target block, add mark (paragraph)_1_4cdaf42f33ea819394b0ca0d1d908263.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make first paragraph bold\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-26822b06aba14c5a8dd33ff9ab771dfb\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-22e3713603fc4655a5b233c2667620c5\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"

Hello, world!

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635627,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":34,\"prompt_tokens\":1006,\"total_tokens\":1040,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in target block, add mark (word)_1_6a7a4dc6ecabe89b67efe28cc4dc784a.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in target block, add mark (word)_1_6a7a4dc6ecabe89b67efe28cc4dc784a.json new file mode 100644 index 0000000000..60b9b6c254 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in target block, add mark (word)_1_6a7a4dc6ecabe89b67efe28cc4dc784a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-9f6879cde3e1445b99a77d8619bb0888\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-48beb23d02054f63bb592e2083e83469\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"

Hello, world!

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635626,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":30,\"prompt_tokens\":1013,\"total_tokens\":1043,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block prop and content_1_f6267f5c3443323a2f40fa0d072c1b5e.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block prop and content_1_f6267f5c3443323a2f40fa0d072c1b5e.json new file mode 100644 index 0000000000..b3dbb2ce41 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block prop and content_1_f6267f5c3443323a2f40fa0d072c1b5e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-804b98a4a2674608a62d7e97be320a02\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-0b83c850d9204258bd3f9e6691e3d2bc\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"

What\\\\u2019s up, world!

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635613,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":42,\"prompt_tokens\":1020,\"total_tokens\":1062,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block prop_1_19381acfdf7cd38af6ff1f49832f333c.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block prop_1_19381acfdf7cd38af6ff1f49832f333c.json new file mode 100644 index 0000000000..cda9557979 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block prop_1_19381acfdf7cd38af6ff1f49832f333c.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-d4fa26d748834bc9a3793c26b4aa4787\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-188560702b3640a8a8b1b934c609d0f6\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"

Hello, world!

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635610,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":37,\"prompt_tokens\":1008,\"total_tokens\":1045,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block type and content_1_39dfc9dc232283469d3dab4d9add48a7.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block type and content_1_39dfc9dc232283469d3dab4d9add48a7.json new file mode 100644 index 0000000000..e9c80e674b --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block type and content_1_39dfc9dc232283469d3dab4d9add48a7.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-77f2bb08e1ab45a68abe2c913a818225\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-fa9c8d6370d24c7391359863a47ee3ba\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"

What's up, world!

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635611,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":35,\"prompt_tokens\":1020,\"total_tokens\":1055,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block type_1_d3cb3ecb84f401197a72cf92a49d9d50.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block type_1_d3cb3ecb84f401197a72cf92a49d9d50.json new file mode 100644 index 0000000000..1df2c6c57a --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block type_1_d3cb3ecb84f401197a72cf92a49d9d50.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-d435bf57c4a147f1a87455f5d99928c0\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-db48a3b59d5e4a8fa7511af68897e2f7\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"

Hello, world!

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635608,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":32,\"prompt_tokens\":1008,\"total_tokens\":1040,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update table cell_1_3bf71541d64e8ad11a8560263e487872.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update table cell_1_3bf71541d64e8ad11a8560263e487872.json new file mode 100644 index 0000000000..dfe9bc15e9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update table cell_1_3bf71541d64e8ad11a8560263e487872.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"update the first cell to 'Hello, world!'\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-cac6b9fe9c11482a9b7be87f6a6c9dbe\",\"choices\":[{\"finish_reason\":\"stop\",\"index\":0,\"logprobs\":null,\"message\":{\"content\":\"\",\"refusal\":null,\"role\":\"assistant\",\"audio\":null,\"function_call\":null,\"tool_calls\":[{\"id\":\"chatcmpl-tool-0ec749ba64684304a44d5d449b14cfe4\",\"function\":{\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"

Hello, world!

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"}]}\",\"name\":\"json\"},\"type\":\"function\"}],\"reasoning_content\":null},\"stop_reason\":null}],\"created\":1746635638,\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"object\":\"chat.completion\",\"service_tier\":null,\"system_fingerprint\":null,\"usage\":{\"completion_tokens\":222,\"prompt_tokens\":1092,\"total_tokens\":1314,\"completion_tokens_details\":null,\"prompt_tokens_details\":null},\"search_results\":[],\"prompt_logprobs\":null}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link and change text within mark_1_0d3497ef63e162e6c990f21fa3446a93.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link and change text within mark_1_0d3497ef63e162e6c990f21fa3446a93.json new file mode 100644 index 0000000000..d93cf22bf9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link and change text within mark_1_0d3497ef63e162e6c990f21fa3446a93.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-ea203ccf-ef51-4461-bc8d-364d511068e8\",\"object\":\"chat.completion\",\"created\":1742851853,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_4d1p\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHi, world! Bold the text. Link.\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.567523843,\"prompt_tokens\":631,\"prompt_time\":0.033388691,\"completion_tokens\":39,\"completion_time\":0.141818182,\"total_tokens\":670,\"total_time\":0.175206873},\"system_fingerprint\":\"fp_2ddfbb0da0\",\"x_groq\":{\"id\":\"req_01jq511jrpffgt38da6k50sprj\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link and change text within mark_1_8ce773c9f905dc41987f2c62433559b4.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link and change text within mark_1_8ce773c9f905dc41987f2c62433559b4.json new file mode 100644 index 0000000000..e869d32452 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link and change text within mark_1_8ce773c9f905dc41987f2c62433559b4.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-1c03913a-6111-49ae-89be-a0c33146cf95\",\"object\":\"chat.completion\",\"created\":1743024149,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_rqaw\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHi, world! Bold the text. Link.\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.101183308,\"prompt_tokens\":622,\"prompt_time\":0.047015956,\"completion_tokens\":39,\"completion_time\":0.141818182,\"total_tokens\":661,\"total_time\":0.188834138},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jqa5bn0eerrvjeheeh2tyxfa\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link_1_ba0e6b49286fbfdb4fe21f0c9af2dfd7.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link_1_ba0e6b49286fbfdb4fe21f0c9af2dfd7.json new file mode 100644 index 0000000000..4fc8992b6b --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link_1_ba0e6b49286fbfdb4fe21f0c9af2dfd7.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-62f65315-f608-4263-b342-9a68f04755de\",\"object\":\"chat.completion\",\"created\":1742851852,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_tqrd\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, world! Bold text. Link.\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.129831781,\"prompt_tokens\":625,\"prompt_time\":0.043600483,\"completion_tokens\":37,\"completion_time\":0.134545455,\"total_tokens\":662,\"total_time\":0.178145938},\"system_fingerprint\":\"fp_b1483399f5\",\"x_groq\":{\"id\":\"req_01jq511jdcffgsqf2gr2048ejn\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link_1_c1b51b0594524e19d7018cd935672772.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link_1_c1b51b0594524e19d7018cd935672772.json new file mode 100644 index 0000000000..117facce76 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link_1_c1b51b0594524e19d7018cd935672772.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-0fddddbf-4a88-4ea5-b640-d218fd3bc5a9\",\"object\":\"chat.completion\",\"created\":1743024149,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_h329\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, world! Bold text. Link.\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":2.1208893829999997,\"prompt_tokens\":616,\"prompt_time\":0.071851935,\"completion_tokens\":38,\"completion_time\":0.138181818,\"total_tokens\":654,\"total_time\":0.210033753},\"system_fingerprint\":\"fp_3884478861\",\"x_groq\":{\"id\":\"req_01jqa5bjmkfne9czh418pwc98x\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/plain source block, add mention_1_d5e225f64cb2fb656b5e907e97d33ce6.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/plain source block, add mention_1_d5e225f64cb2fb656b5e907e97d33ce6.json new file mode 100644 index 0000000000..3266270af8 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/plain source block, add mention_1_d5e225f64cb2fb656b5e907e97d33ce6.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-684bae2a-9505-41ad-b82e-c9fc148552de\",\"object\":\"chat.completion\",\"created\":1743024146,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_dmym\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, \\u003cspan data-inline-content-type=\\\\\\\"mention\\\\\\\" data-user=\\\\\\\"Jane Doe\\\\\\\"\\u003e@Jane Doe\\u003c/span\\u003e!\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":2.402523451,\"prompt_tokens\":614,\"prompt_time\":0.082422625,\"completion_tokens\":52,\"completion_time\":0.189090909,\"total_tokens\":666,\"total_time\":0.271513534},\"system_fingerprint\":\"fp_fcc3b74982\",\"x_groq\":{\"id\":\"req_01jqa5bfhpfnc8y2g2c3823wa4\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/plain source block, add mention_1_ee0f9a24612ffc600b347ddb609702d2.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/plain source block, add mention_1_ee0f9a24612ffc600b347ddb609702d2.json new file mode 100644 index 0000000000..29facd2199 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/plain source block, add mention_1_ee0f9a24612ffc600b347ddb609702d2.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-e9e675c5-9341-4b45-917c-d95d12d7d8eb\",\"object\":\"chat.completion\",\"created\":1742851851,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_r6n6\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"\\u003cp\\u003eHello, \\u003cspan data-inline-content-type=\\\\\\\"mention\\\\\\\" data-user=\\\\\\\"Jane Doe\\\\\\\"\\u003e@Jane Doe\\u003c/span\\u003e!\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.12935644799999998,\"prompt_tokens\":623,\"prompt_time\":0.029359922,\"completion_tokens\":48,\"completion_time\":0.175466778,\"total_tokens\":671,\"total_time\":0.2048267},\"system_fingerprint\":\"fp_72a5dc99ee\",\"x_groq\":{\"id\":\"req_01jq511ha1ffdtmnmhmftprfr2\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/standard update_1_5e65ca44eeb80e5b516c70359b565e9a.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/standard update_1_5e65ca44eeb80e5b516c70359b565e9a.json new file mode 100644 index 0000000000..b9a5bce587 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/standard update_1_5e65ca44eeb80e5b516c70359b565e9a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-f7fad164-13a4-4ea9-b708-347e24655e45\",\"object\":\"chat.completion\",\"created\":1743024134,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_n92t\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, updated content\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.101564991,\"prompt_tokens\":613,\"prompt_time\":0.046509763,\"completion_tokens\":33,\"completion_time\":0.12,\"total_tokens\":646,\"total_time\":0.166509763},\"system_fingerprint\":\"fp_c4760ee73b\",\"x_groq\":{\"id\":\"req_01jqa5b67xfcxreat4yj5r1qyr\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/standard update_1_6dedcbddb3318c720d7ef034c52888dd.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/standard update_1_6dedcbddb3318c720d7ef034c52888dd.json new file mode 100644 index 0000000000..3371189cc2 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/standard update_1_6dedcbddb3318c720d7ef034c52888dd.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-07cacca6-7dfa-4ce5-bdff-a738abb21380\",\"object\":\"chat.completion\",\"created\":1742851846,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_837j\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, updated content\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.09621885999999999,\"prompt_tokens\":622,\"prompt_time\":0.031142306,\"completion_tokens\":33,\"completion_time\":0.12,\"total_tokens\":655,\"total_time\":0.151142306},\"system_fingerprint\":\"fp_3f3b593e33\",\"x_groq\":{\"id\":\"req_01jq511cftff8rfv6a64g0wb7h\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mark_1_0d74d55ba813fae06482dc0f40b0e673.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mark_1_0d74d55ba813fae06482dc0f40b0e673.json new file mode 100644 index 0000000000..81f2802b58 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mark_1_0d74d55ba813fae06482dc0f40b0e673.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-4d48da49-fc60-4970-9aef-8aec8bb127ac\",\"object\":\"chat.completion\",\"created\":1742851850,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_kn42\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, \\u003cspan data-inline-content-type=\\\\\\\"mention\\\\\\\" data-user=\\\\\\\"John Doe\\\\\\\"\\u003e@John Doe\\u003c/span\\u003e! How are you doing?\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.11324404199999999,\"prompt_tokens\":616,\"prompt_time\":0.043829372,\"completion_tokens\":57,\"completion_time\":0.207272727,\"total_tokens\":673,\"total_time\":0.251102099},\"system_fingerprint\":\"fp_6507bcfb6f\",\"x_groq\":{\"id\":\"req_01jq511fz6ffcvvqdzedz83hbc\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mark_1_ee8369720858715a73cea67556feb424.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mark_1_ee8369720858715a73cea67556feb424.json new file mode 100644 index 0000000000..888f41b717 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mark_1_ee8369720858715a73cea67556feb424.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-24d90be3-130d-4258-8dfc-4fb87e969a3d\",\"object\":\"chat.completion\",\"created\":1743024142,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_m81s\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, \\u003cspan data-inline-content-type=\\\\\\\"mention\\\\\\\" data-user=\\\\\\\"John Doe\\\\\\\"\\u003e@John Doe\\u003c/span\\u003e! How are you doing?\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":2.774518607,\"prompt_tokens\":607,\"prompt_time\":0.081647483,\"completion_tokens\":57,\"completion_time\":0.207272727,\"total_tokens\":664,\"total_time\":0.28892021},\"system_fingerprint\":\"fp_4e32347616\",\"x_groq\":{\"id\":\"req_01jqa5bbt3erp9b8jtqvepc6mr\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mention_1_17d6fb5d956b5cf88555a44186ffb8e8.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mention_1_17d6fb5d956b5cf88555a44186ffb8e8.json new file mode 100644 index 0000000000..1e20f0d386 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mention_1_17d6fb5d956b5cf88555a44186ffb8e8.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-d81c2222-b030-4223-ad52-2a9fd909ffe7\",\"object\":\"chat.completion\",\"created\":1742851850,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_qdg3\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello! How \\u003cstrong\\u003eare you doing?\\u003c/strong\\u003e\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.32960613800000005,\"prompt_tokens\":627,\"prompt_time\":0.046095052,\"completion_tokens\":40,\"completion_time\":0.145454545,\"total_tokens\":667,\"total_time\":0.191549597},\"system_fingerprint\":\"fp_6507bcfb6f\",\"x_groq\":{\"id\":\"req_01jq511gcfeymavm17qkcgf66v\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mention_1_48c55488f9f0cac39cce89a41a5c8d67.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mention_1_48c55488f9f0cac39cce89a41a5c8d67.json new file mode 100644 index 0000000000..039bf63abe --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mention_1_48c55488f9f0cac39cce89a41a5c8d67.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-23a482e2-98e3-4fe0-bc12-b08565fe76d3\",\"object\":\"chat.completion\",\"created\":1743024143,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_1nqd\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello! How \\u003cstrong\\u003eare you doing?\\u003c/strong\\u003e\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10054377,\"prompt_tokens\":618,\"prompt_time\":0.049877689,\"completion_tokens\":40,\"completion_time\":0.145454545,\"total_tokens\":658,\"total_time\":0.195332234},\"system_fingerprint\":\"fp_c4760ee73b\",\"x_groq\":{\"id\":\"req_01jqa5bev5fd38wm90zzamap84\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, update mention prop_1_1e0ef9b5e4113fe3f81ade80fe113101.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, update mention prop_1_1e0ef9b5e4113fe3f81ade80fe113101.json new file mode 100644 index 0000000000..9668c3273c --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, update mention prop_1_1e0ef9b5e4113fe3f81ade80fe113101.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-1900a760-3dee-4f2d-8498-492d517be568\",\"object\":\"chat.completion\",\"created\":1743024146,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_1hwa\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, \\u003cspan data-inline-content-type=\\\\\\\"mention\\\\\\\" data-user=\\\\\\\"Jane Doe\\\\\\\"\\u003e@Jane Doe\\u003c/span\\u003e! How \\u003cstrong\\u003eare you doing?\\u003c/strong\\u003e\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.101197116,\"prompt_tokens\":605,\"prompt_time\":0.043640058,\"completion_tokens\":62,\"completion_time\":0.225454545,\"total_tokens\":667,\"total_time\":0.269094603},\"system_fingerprint\":\"fp_c4760ee73b\",\"x_groq\":{\"id\":\"req_01jqa5bj7rfne9rb8033n286bn\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, update mention prop_1_d6586acadb1a74c780be2b96fd3492f5.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, update mention prop_1_d6586acadb1a74c780be2b96fd3492f5.json new file mode 100644 index 0000000000..2a847c4eb4 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, update mention prop_1_d6586acadb1a74c780be2b96fd3492f5.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-7cf36a7a-cdc6-4676-aca6-afa32f828354\",\"object\":\"chat.completion\",\"created\":1742851852,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_623d\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, \\u003cspan data-inline-content-type=\\\\\\\"mention\\\\\\\" data-user=\\\\\\\"Jane Doe\\\\\\\"\\u003e@Jane Doe\\u003c/span\\u003e! How \\u003cstrong\\u003eare you doing?\\u003c/strong\\u003e\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.406345857,\"prompt_tokens\":614,\"prompt_time\":0.040076335,\"completion_tokens\":62,\"completion_time\":0.225871898,\"total_tokens\":676,\"total_time\":0.265948233},\"system_fingerprint\":\"fp_72a5dc99ee\",\"x_groq\":{\"id\":\"req_01jq511hprffe8pwp1r9pcjm39\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block_1_0563f6ee573b13713a782235a10f8a10.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block_1_0563f6ee573b13713a782235a10f8a10.json new file mode 100644 index 0000000000..0662ceed22 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block_1_0563f6ee573b13713a782235a10f8a10.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-738faa0d-039e-4a6d-a387-fd21012c67fe\",\"object\":\"chat.completion\",\"created\":1743024139,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_cz9z\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, updated content\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":2.138724659,\"prompt_tokens\":613,\"prompt_time\":0.068872821,\"completion_tokens\":33,\"completion_time\":0.12,\"total_tokens\":646,\"total_time\":0.188872821},\"system_fingerprint\":\"fp_4e32347616\",\"x_groq\":{\"id\":\"req_01jqa5b9dbermvr675e565btk0\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block_1_265d54ec264829af015886bd1a1eaa36.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block_1_265d54ec264829af015886bd1a1eaa36.json new file mode 100644 index 0000000000..a45ce4bca6 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block_1_265d54ec264829af015886bd1a1eaa36.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-0270477d-3244-4c5c-90d4-639a9f31965a\",\"object\":\"chat.completion\",\"created\":1742851850,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_ab14\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, updated content\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.254277826,\"prompt_tokens\":622,\"prompt_time\":0.033749988,\"completion_tokens\":33,\"completion_time\":0.12,\"total_tokens\":655,\"total_time\":0.153749988},\"system_fingerprint\":\"fp_3f3b593e33\",\"x_groq\":{\"id\":\"req_01jq511fgnffcsw9nh7kw5b84y\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in target block, add mark_1_a4351af5ac94eb0f2966b9b95829b07a.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in target block, add mark_1_a4351af5ac94eb0f2966b9b95829b07a.json new file mode 100644 index 0000000000..b8bf12d450 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in target block, add mark_1_a4351af5ac94eb0f2966b9b95829b07a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-1d4da6a7-a66d-4dd9-a240-195ebe42ccba\",\"object\":\"chat.completion\",\"created\":1742851851,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_51kx\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, \\u003cstrong\\u003eworld!\\u003c/strong\\u003e\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.09117622300000001,\"prompt_tokens\":619,\"prompt_time\":0.036205478,\"completion_tokens\":37,\"completion_time\":0.134545455,\"total_tokens\":656,\"total_time\":0.170750933},\"system_fingerprint\":\"fp_72a5dc99ee\",\"x_groq\":{\"id\":\"req_01jq511gy6eynahjrdr0czz41t\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in target block, add mark_1_b20ef9988bd40479f69845ac62408414.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in target block, add mark_1_b20ef9988bd40479f69845ac62408414.json new file mode 100644 index 0000000000..d402070211 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in target block, add mark_1_b20ef9988bd40479f69845ac62408414.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-fd607ce7-80fc-459a-81e2-287367ced16f\",\"object\":\"chat.completion\",\"created\":1743024143,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_9cfp\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, \\u003cstrong\\u003eworld!\\u003c/strong\\u003e\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.09991100299999998,\"prompt_tokens\":610,\"prompt_time\":0.069304084,\"completion_tokens\":37,\"completion_time\":0.134545455,\"total_tokens\":647,\"total_time\":0.203849539},\"system_fingerprint\":\"fp_c4760ee73b\",\"x_groq\":{\"id\":\"req_01jqa5bf5pfncarpjmt7r03dkh\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop and content_1_15643c1543bd8a92f3b544ad08d97f71.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop and content_1_15643c1543bd8a92f3b544ad08d97f71.json new file mode 100644 index 0000000000..b483e785c2 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop and content_1_15643c1543bd8a92f3b544ad08d97f71.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-f8c851d4-6ff2-4c80-8ba2-131dd16431cc\",\"object\":\"chat.completion\",\"created\":1743024137,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_v5qj\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp style=\\\\\\\"text-align: right;\\\\\\\"\\u003eWhat's up, world!\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10110392700000001,\"prompt_tokens\":617,\"prompt_time\":0.039921708,\"completion_tokens\":41,\"completion_time\":0.149090909,\"total_tokens\":658,\"total_time\":0.189012617},\"system_fingerprint\":\"fp_8dd9fca28c\",\"x_groq\":{\"id\":\"req_01jqa5b919fcybtz3dxpzata0k\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop and content_1_19540c2aa6a12d64802f0dfb0185b8c1.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop and content_1_19540c2aa6a12d64802f0dfb0185b8c1.json new file mode 100644 index 0000000000..02bf1fb2bf --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop and content_1_19540c2aa6a12d64802f0dfb0185b8c1.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-b52f7b61-856c-4853-8c28-a1758edbae8d\",\"object\":\"chat.completion\",\"created\":1742851849,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_j53n\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp style=\\\\\\\"text-align: right;\\\\\\\"\\u003eWhat's up, world!\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.372087401,\"prompt_tokens\":626,\"prompt_time\":0.027020627,\"completion_tokens\":41,\"completion_time\":0.149090909,\"total_tokens\":667,\"total_time\":0.176111536},\"system_fingerprint\":\"fp_3f3b593e33\",\"x_groq\":{\"id\":\"req_01jq511ersffcth5ry4e6jzfa6\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop_1_307ec8491b1ef3714a834ac2490bd024.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop_1_307ec8491b1ef3714a834ac2490bd024.json new file mode 100644 index 0000000000..d413b329e2 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop_1_307ec8491b1ef3714a834ac2490bd024.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-e4143855-f212-4a8d-9ae6-ddf083a39b0a\",\"object\":\"chat.completion\",\"created\":1743024135,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_9erk\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp style=\\\\\\\"text-align: right;\\\\\\\"\\u003eHello, world!\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.101659144,\"prompt_tokens\":605,\"prompt_time\":0.045649355,\"completion_tokens\":39,\"completion_time\":0.141818182,\"total_tokens\":644,\"total_time\":0.187467537},\"system_fingerprint\":\"fp_c4760ee73b\",\"x_groq\":{\"id\":\"req_01jqa5b71efn9awps4ny5nak7n\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop_1_ce3c693765bfd9e5728116cc42a6b900.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop_1_ce3c693765bfd9e5728116cc42a6b900.json new file mode 100644 index 0000000000..301e678947 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop_1_ce3c693765bfd9e5728116cc42a6b900.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-20cf6ee1-6ab1-404d-90ff-3362d9356b20\",\"object\":\"chat.completion\",\"created\":1742851848,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_g0xh\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp style=\\\\\\\"text-align: right;\\\\\\\"\\u003eHello, world!\\u003c/p\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.663263383,\"prompt_tokens\":614,\"prompt_time\":0.071571575,\"completion_tokens\":39,\"completion_time\":0.141818182,\"total_tokens\":653,\"total_time\":0.213389757},\"system_fingerprint\":\"fp_3884478861\",\"x_groq\":{\"id\":\"req_01jq511dcgffaatxwwmbf06nfc\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type and content_1_45f4cc6720855b63fa9b5d1c504fa6b3.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type and content_1_45f4cc6720855b63fa9b5d1c504fa6b3.json new file mode 100644 index 0000000000..3ad2ebae3a --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type and content_1_45f4cc6720855b63fa9b5d1c504fa6b3.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-bb50db0e-633d-4691-889e-ee7f31a792d9\",\"object\":\"chat.completion\",\"created\":1742851848,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_v1yr\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003ch1\\u003eWhat's up, world!\\u003c/h1\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.132600006,\"prompt_tokens\":626,\"prompt_time\":0.031439802,\"completion_tokens\":37,\"completion_time\":0.135392388,\"total_tokens\":663,\"total_time\":0.16683219},\"system_fingerprint\":\"fp_3f3b593e33\",\"x_groq\":{\"id\":\"req_01jq511ebneyhaygq9kpffymw8\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type and content_1_4ceadf8d7b20dff47f14cf354e6bb681.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type and content_1_4ceadf8d7b20dff47f14cf354e6bb681.json new file mode 100644 index 0000000000..65a9e25b42 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type and content_1_4ceadf8d7b20dff47f14cf354e6bb681.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-8fc15eb0-9d0a-45dc-a1c5-085b2f93b732\",\"object\":\"chat.completion\",\"created\":1743024136,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_z5fy\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003ch1\\u003eWhat's up, world!\\u003c/h1\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":1.213644212,\"prompt_tokens\":617,\"prompt_time\":0.105761967,\"completion_tokens\":37,\"completion_time\":0.134545455,\"total_tokens\":654,\"total_time\":0.240307422},\"system_fingerprint\":\"fp_fcc3b74982\",\"x_groq\":{\"id\":\"req_01jqa5b7gjfcxthm51fespez24\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type_1_022672941eeb700df2a475c271faf4ea.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type_1_022672941eeb700df2a475c271faf4ea.json new file mode 100644 index 0000000000..861071b19c --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type_1_022672941eeb700df2a475c271faf4ea.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-06b4c4d8-69d0-4462-ab1d-c28ad2f57e08\",\"object\":\"chat.completion\",\"created\":1743024134,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_qcpc\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003ch1\\u003eHello, world!\\u003c/h1\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.100239034,\"prompt_tokens\":605,\"prompt_time\":0.046873197,\"completion_tokens\":34,\"completion_time\":0.123636364,\"total_tokens\":639,\"total_time\":0.170509561},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jqa5b6pyerks00gpsa4h3sat\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type_1_4e62113288cbf0ba07a615f83fc58aa6.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type_1_4e62113288cbf0ba07a615f83fc58aa6.json new file mode 100644 index 0000000000..81c2452769 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type_1_4e62113288cbf0ba07a615f83fc58aa6.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-f834f076-b607-42d6-b413-ce72865faa45\",\"object\":\"chat.completion\",\"created\":1742851847,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_156n\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003ch1\\u003eHello, world!\\u003c/h1\\u003e\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.409013711,\"prompt_tokens\":614,\"prompt_time\":0.039249899,\"completion_tokens\":34,\"completion_time\":0.123696088,\"total_tokens\":648,\"total_time\":0.162945987},\"system_fingerprint\":\"fp_3f3b593e33\",\"x_groq\":{\"id\":\"req_01jq511cs5ff8rf3ryj8y58qjc\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_69a82232be0164c8dcf96fb44e9a8886.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_69a82232be0164c8dcf96fb44e9a8886.json new file mode 100644 index 0000000000..b96ce37275 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_69a82232be0164c8dcf96fb44e9a8886.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-52d68c83-6ff9-47b6-a933-3f09922f2bef\",\"object\":\"chat.completion.chunk\",\"created\":1743024127,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5azdxfctvn3cz6qfbk78a\"}}\n\ndata: {\"id\":\"chatcmpl-52d68c83-6ff9-47b6-a933-3f09922f2bef\",\"object\":\"chat.completion.chunk\",\"created\":1743024127,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_zbf3\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHi, world! Bold the text. Link.\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-52d68c83-6ff9-47b6-a933-3f09922f2bef\",\"object\":\"chat.completion.chunk\",\"created\":1743024127,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5azdxfctvn3cz6qfbk78a\",\"usage\":{\"queue_time\":0.099301261,\"prompt_tokens\":622,\"prompt_time\":0.054383873,\"completion_tokens\":39,\"completion_time\":0.141818182,\"total_tokens\":661,\"total_time\":0.196202055}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_a1c1fd192c8fb01785f8c99fd6b36099.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_a1c1fd192c8fb01785f8c99fd6b36099.json new file mode 100644 index 0000000000..69dbb033fa --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_a1c1fd192c8fb01785f8c99fd6b36099.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-8294e795-d115-42aa-8a5b-ad665efce963\",\"object\":\"chat.completion.chunk\",\"created\":1742851815,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq510dzsexmtny223yty28nm\"}}\n\ndata: {\"id\":\"chatcmpl-8294e795-d115-42aa-8a5b-ad665efce963\",\"object\":\"chat.completion.chunk\",\"created\":1742851815,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_0f42\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHi, world! Bold the text. Link.\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-8294e795-d115-42aa-8a5b-ad665efce963\",\"object\":\"chat.completion.chunk\",\"created\":1742851815,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq510dzsexmtny223yty28nm\",\"usage\":{\"queue_time\":0.097269721,\"prompt_tokens\":631,\"prompt_time\":0.048785744,\"completion_tokens\":39,\"completion_time\":0.141818182,\"total_tokens\":670,\"total_time\":0.190603926}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link_1_120e261ae44f2501b23df464c1816e1d.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link_1_120e261ae44f2501b23df464c1816e1d.json new file mode 100644 index 0000000000..d9101b6430 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link_1_120e261ae44f2501b23df464c1816e1d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-018e4adf-d65b-4bfa-ae3a-0a23433ad8b9\",\"object\":\"chat.completion.chunk\",\"created\":1742851815,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_3f3b593e33\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq510dmgfnbs9td5ysyqr25n\"}}\n\ndata: {\"id\":\"chatcmpl-018e4adf-d65b-4bfa-ae3a-0a23433ad8b9\",\"object\":\"chat.completion.chunk\",\"created\":1742851815,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_3f3b593e33\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_2hqa\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, world! Bold text. Link.\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-018e4adf-d65b-4bfa-ae3a-0a23433ad8b9\",\"object\":\"chat.completion.chunk\",\"created\":1742851815,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_3f3b593e33\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq510dmgfnbs9td5ysyqr25n\",\"usage\":{\"queue_time\":0.136847524,\"prompt_tokens\":625,\"prompt_time\":0.02960718,\"completion_tokens\":37,\"completion_time\":0.136445746,\"total_tokens\":662,\"total_time\":0.166052926}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link_1_d76e6284d9647974aafe6b63e61efae1.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link_1_d76e6284d9647974aafe6b63e61efae1.json new file mode 100644 index 0000000000..b02058b45e --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link_1_d76e6284d9647974aafe6b63e61efae1.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-22db3b21-6a95-430a-b03e-772a4e0e983e\",\"object\":\"chat.completion.chunk\",\"created\":1743024127,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5az39erfvgcgw34f6acb2\"}}\n\ndata: {\"id\":\"chatcmpl-22db3b21-6a95-430a-b03e-772a4e0e983e\",\"object\":\"chat.completion.chunk\",\"created\":1743024127,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_xc6k\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, world! Bold text. Link.\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-22db3b21-6a95-430a-b03e-772a4e0e983e\",\"object\":\"chat.completion.chunk\",\"created\":1743024127,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5az39erfvgcgw34f6acb2\",\"usage\":{\"queue_time\":0.106557634,\"prompt_tokens\":616,\"prompt_time\":0.040156595,\"completion_tokens\":37,\"completion_time\":0.134545455,\"total_tokens\":653,\"total_time\":0.17470205}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/plain source block, add mention_1_c2db249b95f14e7d3982376670f3c0ae.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/plain source block, add mention_1_c2db249b95f14e7d3982376670f3c0ae.json new file mode 100644 index 0000000000..bbf7b5d398 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/plain source block, add mention_1_c2db249b95f14e7d3982376670f3c0ae.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-da0a3e25-c15b-4df5-a724-31bffae49ff3\",\"object\":\"chat.completion.chunk\",\"created\":1742851814,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq510ct7fnavq4rpkkrj3r5x\"}}\n\ndata: {\"id\":\"chatcmpl-da0a3e25-c15b-4df5-a724-31bffae49ff3\",\"object\":\"chat.completion.chunk\",\"created\":1742851814,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_k5cg\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"\\u003cp\\u003eHello, \\u003cspan data-inline-content-type=\\\\\\\"mention\\\\\\\" data-user=\\\\\\\"Jane Doe\\\\\\\"\\u003e@Jane Doe\\u003c/span\\u003e!\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-da0a3e25-c15b-4df5-a724-31bffae49ff3\",\"object\":\"chat.completion.chunk\",\"created\":1742851814,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq510ct7fnavq4rpkkrj3r5x\",\"usage\":{\"queue_time\":0.10127511300000001,\"prompt_tokens\":623,\"prompt_time\":0.040294182,\"completion_tokens\":48,\"completion_time\":0.174545455,\"total_tokens\":671,\"total_time\":0.214839637}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/plain source block, add mention_1_ef774003cf573ef4870a0998fcebce3b.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/plain source block, add mention_1_ef774003cf573ef4870a0998fcebce3b.json new file mode 100644 index 0000000000..090566f77b --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/plain source block, add mention_1_ef774003cf573ef4870a0998fcebce3b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-660d32af-ea12-4e8e-9cfe-87a818c9529f\",\"object\":\"chat.completion.chunk\",\"created\":1743024126,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_c4760ee73b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5ayazfctvx1ps0bs8cpc6\"}}\n\ndata: {\"id\":\"chatcmpl-660d32af-ea12-4e8e-9cfe-87a818c9529f\",\"object\":\"chat.completion.chunk\",\"created\":1743024126,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_c4760ee73b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_kdmm\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"\\u003cp\\u003eHello, \\u003cspan data-inline-content-type=\\\\\\\"mention\\\\\\\" data-user=\\\\\\\"Jane Doe\\\\\\\"\\u003e@Jane Doe\\u003c/span\\u003e!\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-660d32af-ea12-4e8e-9cfe-87a818c9529f\",\"object\":\"chat.completion.chunk\",\"created\":1743024126,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_c4760ee73b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5ayazfctvx1ps0bs8cpc6\",\"usage\":{\"queue_time\":0.09991766899999999,\"prompt_tokens\":614,\"prompt_time\":0.039700916,\"completion_tokens\":48,\"completion_time\":0.174545455,\"total_tokens\":662,\"total_time\":0.214246371}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/standard update_1_68e7ca6b2d5999017e04e81283b0c923.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/standard update_1_68e7ca6b2d5999017e04e81283b0c923.json new file mode 100644 index 0000000000..fa168c198c --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/standard update_1_68e7ca6b2d5999017e04e81283b0c923.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-83b449a6-897a-43e0-989b-e98280d68610\",\"object\":\"chat.completion.chunk\",\"created\":1742851810,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_6507bcfb6f\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq51086mfn59wffpjft6jth8\"}}\n\ndata: {\"id\":\"chatcmpl-83b449a6-897a-43e0-989b-e98280d68610\",\"object\":\"chat.completion.chunk\",\"created\":1742851810,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_6507bcfb6f\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_7wd7\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, updated content\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-83b449a6-897a-43e0-989b-e98280d68610\",\"object\":\"chat.completion.chunk\",\"created\":1742851810,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_6507bcfb6f\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq51086mfn59wffpjft6jth8\",\"usage\":{\"queue_time\":0.438535067,\"prompt_tokens\":622,\"prompt_time\":0.041519212,\"completion_tokens\":33,\"completion_time\":0.12,\"total_tokens\":655,\"total_time\":0.161519212}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/standard update_1_98b3941ade9885f24e2b6c14c34079f4.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/standard update_1_98b3941ade9885f24e2b6c14c34079f4.json new file mode 100644 index 0000000000..e1b4f4e438 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/standard update_1_98b3941ade9885f24e2b6c14c34079f4.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-9148f330-0de4-4882-ba5b-1ecc5fea6337\",\"object\":\"chat.completion.chunk\",\"created\":1743024121,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5asbxerct8z7nbxwbf810\"}}\n\ndata: {\"id\":\"chatcmpl-9148f330-0de4-4882-ba5b-1ecc5fea6337\",\"object\":\"chat.completion.chunk\",\"created\":1743024121,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_jw8w\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, updated content\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-9148f330-0de4-4882-ba5b-1ecc5fea6337\",\"object\":\"chat.completion.chunk\",\"created\":1743024121,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5asbxerct8z7nbxwbf810\",\"usage\":{\"queue_time\":0.10814194300000002,\"prompt_tokens\":613,\"prompt_time\":0.046598231,\"completion_tokens\":33,\"completion_time\":0.12,\"total_tokens\":646,\"total_time\":0.166598231}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mark_1_4a5614c73d997eba3fa52b86cffa9383.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mark_1_4a5614c73d997eba3fa52b86cffa9383.json new file mode 100644 index 0000000000..42632a6da3 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mark_1_4a5614c73d997eba3fa52b86cffa9383.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-66ec7bb7-5f68-4aa9-b527-5db4fc490a5a\",\"object\":\"chat.completion.chunk\",\"created\":1743024123,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5avapercvftgat5sm9hex\"}}\n\ndata: {\"id\":\"chatcmpl-66ec7bb7-5f68-4aa9-b527-5db4fc490a5a\",\"object\":\"chat.completion.chunk\",\"created\":1743024123,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_4pgd\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, \\u003cspan data-inline-content-type=\\\\\\\"mention\\\\\\\" data-user=\\\\\\\"John Doe\\\\\\\"\\u003e@John Doe\\u003c/span\\u003e! How are you doing?\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-66ec7bb7-5f68-4aa9-b527-5db4fc490a5a\",\"object\":\"chat.completion.chunk\",\"created\":1743024123,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5avapercvftgat5sm9hex\",\"usage\":{\"queue_time\":0.100565217,\"prompt_tokens\":607,\"prompt_time\":0.063150588,\"completion_tokens\":57,\"completion_time\":0.207272727,\"total_tokens\":664,\"total_time\":0.270423315}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mark_1_5b7e76896c131f6fac7186b63a8c8159.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mark_1_5b7e76896c131f6fac7186b63a8c8159.json new file mode 100644 index 0000000000..955afb7254 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mark_1_5b7e76896c131f6fac7186b63a8c8159.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-d37df059-bdae-4db5-ac26-49c684f7afd2\",\"object\":\"chat.completion.chunk\",\"created\":1742851813,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq510bpgfn8tpwcwp98jq38q\"}}\n\ndata: {\"id\":\"chatcmpl-d37df059-bdae-4db5-ac26-49c684f7afd2\",\"object\":\"chat.completion.chunk\",\"created\":1742851813,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_ktc0\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, \\u003cspan data-inline-content-type=\\\\\\\"mention\\\\\\\" data-user=\\\\\\\"John Doe\\\\\\\"\\u003e@John Doe\\u003c/span\\u003e! How are you doing?\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-d37df059-bdae-4db5-ac26-49c684f7afd2\",\"object\":\"chat.completion.chunk\",\"created\":1742851813,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq510bpgfn8tpwcwp98jq38q\",\"usage\":{\"queue_time\":0.102499955,\"prompt_tokens\":616,\"prompt_time\":0.046832021,\"completion_tokens\":57,\"completion_time\":0.207272727,\"total_tokens\":673,\"total_time\":0.254104748}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mention_1_b7316a4ec571c69741b0185ff2a9c7a9.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mention_1_b7316a4ec571c69741b0185ff2a9c7a9.json new file mode 100644 index 0000000000..03dcb5aae7 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mention_1_b7316a4ec571c69741b0185ff2a9c7a9.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-7328eca3-54dc-4f52-99ed-da9993e21537\",\"object\":\"chat.completion.chunk\",\"created\":1743024125,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_3884478861\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5avqyerdrjhrg1dvbkmg7\"}}\n\ndata: {\"id\":\"chatcmpl-7328eca3-54dc-4f52-99ed-da9993e21537\",\"object\":\"chat.completion.chunk\",\"created\":1743024125,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_3884478861\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_h2ns\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello! How \\u003cstrong\\u003eare you doing?\\u003c/strong\\u003e\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-7328eca3-54dc-4f52-99ed-da9993e21537\",\"object\":\"chat.completion.chunk\",\"created\":1743024125,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_3884478861\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5avqyerdrjhrg1dvbkmg7\",\"usage\":{\"queue_time\":1.9714321719999999,\"prompt_tokens\":618,\"prompt_time\":0.084497402,\"completion_tokens\":40,\"completion_time\":0.145454545,\"total_tokens\":658,\"total_time\":0.229951947}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mention_1_d8cd06e28d1a94e2ece17234ac622785.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mention_1_d8cd06e28d1a94e2ece17234ac622785.json new file mode 100644 index 0000000000..4a168f77d1 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mention_1_d8cd06e28d1a94e2ece17234ac622785.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-ab0079f2-6f81-4b2c-b770-136fa05396af\",\"object\":\"chat.completion.chunk\",\"created\":1742851813,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq510c3cexmb8rx6ff590xan\"}}\n\ndata: {\"id\":\"chatcmpl-ab0079f2-6f81-4b2c-b770-136fa05396af\",\"object\":\"chat.completion.chunk\",\"created\":1742851813,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_hq5t\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello! How \\u003cstrong\\u003eare you doing?\\u003c/strong\\u003e\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-ab0079f2-6f81-4b2c-b770-136fa05396af\",\"object\":\"chat.completion.chunk\",\"created\":1742851813,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq510c3cexmb8rx6ff590xan\",\"usage\":{\"queue_time\":0.10096317400000002,\"prompt_tokens\":627,\"prompt_time\":0.048262112,\"completion_tokens\":41,\"completion_time\":0.149090909,\"total_tokens\":668,\"total_time\":0.197353021}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, update mention prop_1_631ca54e466e4791b28d3e98aba55498.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, update mention prop_1_631ca54e466e4791b28d3e98aba55498.json new file mode 100644 index 0000000000..a41bca758a --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, update mention prop_1_631ca54e466e4791b28d3e98aba55498.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-3b4722d9-d458-40f0-8a8b-4e0ef2b75eaf\",\"object\":\"chat.completion.chunk\",\"created\":1743024126,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5ayp9fctr67605vtnj96j\"}}\n\ndata: {\"id\":\"chatcmpl-3b4722d9-d458-40f0-8a8b-4e0ef2b75eaf\",\"object\":\"chat.completion.chunk\",\"created\":1743024126,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_rxqm\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, \\u003cspan data-inline-content-type=\\\\\\\"mention\\\\\\\" data-user=\\\\\\\"Jane Doe\\\\\\\"\\u003e@Jane Doe\\u003c/span\\u003e! How \\u003cstrong\\u003eare you doing?\\u003c/strong\\u003e\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-3b4722d9-d458-40f0-8a8b-4e0ef2b75eaf\",\"object\":\"chat.completion.chunk\",\"created\":1743024126,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5ayp9fctr67605vtnj96j\",\"usage\":{\"queue_time\":0.10000881700000001,\"prompt_tokens\":605,\"prompt_time\":0.039294023,\"completion_tokens\":62,\"completion_time\":0.225454545,\"total_tokens\":667,\"total_time\":0.264748568}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, update mention prop_1_906e129bf2e71179489078e290fddf8d.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, update mention prop_1_906e129bf2e71179489078e290fddf8d.json new file mode 100644 index 0000000000..13995bca21 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, update mention prop_1_906e129bf2e71179489078e290fddf8d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-0ac25a52-a6c8-4bbd-95d5-7909b2334f30\",\"object\":\"chat.completion.chunk\",\"created\":1742851814,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_6507bcfb6f\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq510d7bfnb9j60jn9mwx85j\"}}\n\ndata: {\"id\":\"chatcmpl-0ac25a52-a6c8-4bbd-95d5-7909b2334f30\",\"object\":\"chat.completion.chunk\",\"created\":1742851814,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_6507bcfb6f\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_xr2w\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, \\u003cspan data-inline-content-type=\\\\\\\"mention\\\\\\\" data-user=\\\\\\\"Jane Doe\\\\\\\"\\u003e@Jane Doe\\u003c/span\\u003e! How \\u003cstrong\\u003eare you doing?\\u003c/strong\\u003e\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-0ac25a52-a6c8-4bbd-95d5-7909b2334f30\",\"object\":\"chat.completion.chunk\",\"created\":1742851814,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_6507bcfb6f\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq510d7bfnb9j60jn9mwx85j\",\"usage\":{\"queue_time\":0.103950498,\"prompt_tokens\":614,\"prompt_time\":0.03252273,\"completion_tokens\":62,\"completion_time\":0.225454545,\"total_tokens\":676,\"total_time\":0.257977275}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block_1_5ba2d1b1d785384a062d2e907d7a6e51.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block_1_5ba2d1b1d785384a062d2e907d7a6e51.json new file mode 100644 index 0000000000..f9271fdbc4 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block_1_5ba2d1b1d785384a062d2e907d7a6e51.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-16140d67-4900-41b3-b3eb-5d782fc61a0a\",\"object\":\"chat.completion.chunk\",\"created\":1742851812,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_3f3b593e33\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq510b42exkvhm9a4h0hgeq9\"}}\n\ndata: {\"id\":\"chatcmpl-16140d67-4900-41b3-b3eb-5d782fc61a0a\",\"object\":\"chat.completion.chunk\",\"created\":1742851812,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_3f3b593e33\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_z56f\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, updated content\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-16140d67-4900-41b3-b3eb-5d782fc61a0a\",\"object\":\"chat.completion.chunk\",\"created\":1742851812,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_3f3b593e33\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq510b42exkvhm9a4h0hgeq9\",\"usage\":{\"queue_time\":0.298786363,\"prompt_tokens\":622,\"prompt_time\":0.033431104,\"completion_tokens\":33,\"completion_time\":0.12,\"total_tokens\":655,\"total_time\":0.153431104}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block_1_794c7cca2e1a4086bb3d3ed0453f07ee.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block_1_794c7cca2e1a4086bb3d3ed0453f07ee.json new file mode 100644 index 0000000000..4eddeb4844 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block_1_794c7cca2e1a4086bb3d3ed0453f07ee.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-2c979fdc-eb45-464d-8aff-bc4dc566db3c\",\"object\":\"chat.completion.chunk\",\"created\":1743024122,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5av0gfct9gdgq7jmzkv1c\"}}\n\ndata: {\"id\":\"chatcmpl-2c979fdc-eb45-464d-8aff-bc4dc566db3c\",\"object\":\"chat.completion.chunk\",\"created\":1743024123,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_hppd\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"\\u003cp\\u003eHello, updated content\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-2c979fdc-eb45-464d-8aff-bc4dc566db3c\",\"object\":\"chat.completion.chunk\",\"created\":1743024123,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5av0gfct9gdgq7jmzkv1c\",\"usage\":{\"queue_time\":0.10097628,\"prompt_tokens\":613,\"prompt_time\":0.040958198,\"completion_tokens\":29,\"completion_time\":0.105454545,\"total_tokens\":642,\"total_time\":0.146412743}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in target block, add mark_1_213fe71abfb49b0d18463ba0e898b1bf.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in target block, add mark_1_213fe71abfb49b0d18463ba0e898b1bf.json new file mode 100644 index 0000000000..93997f6544 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in target block, add mark_1_213fe71abfb49b0d18463ba0e898b1bf.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-adf15a6d-3f71-4231-ae9d-73f99a4e3cfa\",\"object\":\"chat.completion.chunk\",\"created\":1743024126,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5ay0kfctsy3r7rax8zeca\"}}\n\ndata: {\"id\":\"chatcmpl-adf15a6d-3f71-4231-ae9d-73f99a4e3cfa\",\"object\":\"chat.completion.chunk\",\"created\":1743024126,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_7vv1\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, \\u003cstrong\\u003eworld!\\u003c/strong\\u003e\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-adf15a6d-3f71-4231-ae9d-73f99a4e3cfa\",\"object\":\"chat.completion.chunk\",\"created\":1743024126,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5ay0kfctsy3r7rax8zeca\",\"usage\":{\"queue_time\":0.102558554,\"prompt_tokens\":610,\"prompt_time\":0.050569105,\"completion_tokens\":37,\"completion_time\":0.134545455,\"total_tokens\":647,\"total_time\":0.18511456}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in target block, add mark_1_245e995e1616524340a13f55922cf6cb.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in target block, add mark_1_245e995e1616524340a13f55922cf6cb.json new file mode 100644 index 0000000000..52e9c3259c --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in target block, add mark_1_245e995e1616524340a13f55922cf6cb.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-265cc097-d205-400c-9058-3fd8dcddd7a0\",\"object\":\"chat.completion.chunk\",\"created\":1742851813,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_72a5dc99ee\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq510cebexm9gapa53x261t0\"}}\n\ndata: {\"id\":\"chatcmpl-265cc097-d205-400c-9058-3fd8dcddd7a0\",\"object\":\"chat.completion.chunk\",\"created\":1742851814,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_72a5dc99ee\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_496v\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp\\u003eHello, \\u003cstrong\\u003eworld!\\u003c/strong\\u003e\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-265cc097-d205-400c-9058-3fd8dcddd7a0\",\"object\":\"chat.completion.chunk\",\"created\":1742851814,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_72a5dc99ee\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq510cebexm9gapa53x261t0\",\"usage\":{\"queue_time\":0.11906640600000001,\"prompt_tokens\":619,\"prompt_time\":0.031825473,\"completion_tokens\":37,\"completion_time\":0.134545455,\"total_tokens\":656,\"total_time\":0.166370928}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop and content_1_7be37b0e99f86519e90712b338572686.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop and content_1_7be37b0e99f86519e90712b338572686.json new file mode 100644 index 0000000000..20d5ccd1d9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop and content_1_7be37b0e99f86519e90712b338572686.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-bf2b2d27-1d6b-4d76-9909-4ef58ee96461\",\"object\":\"chat.completion.chunk\",\"created\":1743024122,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5atp7fct9kah9n40v2ms1\"}}\n\ndata: {\"id\":\"chatcmpl-bf2b2d27-1d6b-4d76-9909-4ef58ee96461\",\"object\":\"chat.completion.chunk\",\"created\":1743024122,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_26af\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"\\u003cp style=\\\\\\\"text-align: right;\\\\\\\"\\u003eWhat's up, world!\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-bf2b2d27-1d6b-4d76-9909-4ef58ee96461\",\"object\":\"chat.completion.chunk\",\"created\":1743024122,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5atp7fct9kah9n40v2ms1\",\"usage\":{\"queue_time\":0.106049722,\"prompt_tokens\":617,\"prompt_time\":0.046043447,\"completion_tokens\":37,\"completion_time\":0.134545455,\"total_tokens\":654,\"total_time\":0.180588902}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop and content_1_a587f118450a5c10d68e623b5c876fa6.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop and content_1_a587f118450a5c10d68e623b5c876fa6.json new file mode 100644 index 0000000000..c617217ff7 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop and content_1_a587f118450a5c10d68e623b5c876fa6.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-323a7804-c35d-4e1a-a6a6-49e340d2928e\",\"object\":\"chat.completion.chunk\",\"created\":1742851812,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_3884478861\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq510a3xfn68eys6pcwzhjav\"}}\n\ndata: {\"id\":\"chatcmpl-323a7804-c35d-4e1a-a6a6-49e340d2928e\",\"object\":\"chat.completion.chunk\",\"created\":1742851812,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_3884478861\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_c27m\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp style=\\\\\\\"text-align: right;\\\\\\\"\\u003eWhat's up, world!\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-323a7804-c35d-4e1a-a6a6-49e340d2928e\",\"object\":\"chat.completion.chunk\",\"created\":1742851812,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_3884478861\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq510a3xfn68eys6pcwzhjav\",\"usage\":{\"queue_time\":0.712853912,\"prompt_tokens\":626,\"prompt_time\":0.072776682,\"completion_tokens\":41,\"completion_time\":0.149090909,\"total_tokens\":667,\"total_time\":0.221867591}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop_1_7defe29c3454f067a8a5952ffc77ffab.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop_1_7defe29c3454f067a8a5952ffc77ffab.json new file mode 100644 index 0000000000..02cddcc02d --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop_1_7defe29c3454f067a8a5952ffc77ffab.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-f47a7e3d-473a-4126-95d1-9dd330295978\",\"object\":\"chat.completion.chunk\",\"created\":1742851810,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq5109a6exj87bggbx01h268\"}}\n\ndata: {\"id\":\"chatcmpl-f47a7e3d-473a-4126-95d1-9dd330295978\",\"object\":\"chat.completion.chunk\",\"created\":1742851810,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_wbe3\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp style=\\\\\\\"text-align: right;\\\\\\\"\\u003eHello, world!\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-f47a7e3d-473a-4126-95d1-9dd330295978\",\"object\":\"chat.completion.chunk\",\"created\":1742851810,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq5109a6exj87bggbx01h268\",\"usage\":{\"queue_time\":0.10782846600000001,\"prompt_tokens\":614,\"prompt_time\":0.039755988,\"completion_tokens\":39,\"completion_time\":0.141818182,\"total_tokens\":653,\"total_time\":0.18157417}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop_1_a91f646c15f13de284ec00a42f41a414.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop_1_a91f646c15f13de284ec00a42f41a414.json new file mode 100644 index 0000000000..06de610b98 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop_1_a91f646c15f13de284ec00a42f41a414.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-59dcb5c4-7e3e-41e0-8b0c-c0df9da02884\",\"object\":\"chat.completion.chunk\",\"created\":1743024121,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5aszdercrfgdsm8hxhg06\"}}\n\ndata: {\"id\":\"chatcmpl-59dcb5c4-7e3e-41e0-8b0c-c0df9da02884\",\"object\":\"chat.completion.chunk\",\"created\":1743024122,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_4en5\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003cp style=\\\\\\\"text-align: right;\\\\\\\"\\u003eHello, world!\\u003c/p\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-59dcb5c4-7e3e-41e0-8b0c-c0df9da02884\",\"object\":\"chat.completion.chunk\",\"created\":1743024122,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5aszdercrfgdsm8hxhg06\",\"usage\":{\"queue_time\":0.101010338,\"prompt_tokens\":605,\"prompt_time\":0.10367319,\"completion_tokens\":39,\"completion_time\":0.141818182,\"total_tokens\":644,\"total_time\":0.245491372}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type and content_1_21cae9637c9d683e20700346debd63de.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type and content_1_21cae9637c9d683e20700346debd63de.json new file mode 100644 index 0000000000..54039235f5 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type and content_1_21cae9637c9d683e20700346debd63de.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-49b3f857-9547-4cbf-947b-c2ef0cdf1848\",\"object\":\"chat.completion.chunk\",\"created\":1743024122,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_c4760ee73b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5atbqfct9a2bt5kvvaafq\"}}\n\ndata: {\"id\":\"chatcmpl-49b3f857-9547-4cbf-947b-c2ef0cdf1848\",\"object\":\"chat.completion.chunk\",\"created\":1743024122,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_c4760ee73b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_f4e1\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003ch1\\u003eWhat's up, world!\\u003c/h1\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-49b3f857-9547-4cbf-947b-c2ef0cdf1848\",\"object\":\"chat.completion.chunk\",\"created\":1743024122,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_c4760ee73b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5atbqfct9a2bt5kvvaafq\",\"usage\":{\"queue_time\":0.10116313899999999,\"prompt_tokens\":617,\"prompt_time\":0.046659468,\"completion_tokens\":37,\"completion_time\":0.134545455,\"total_tokens\":654,\"total_time\":0.181204923}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type and content_1_6d099f6023689c7834e913f63bbaddd6.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type and content_1_6d099f6023689c7834e913f63bbaddd6.json new file mode 100644 index 0000000000..acf10f5588 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type and content_1_6d099f6023689c7834e913f63bbaddd6.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-21818002-2c5e-4d87-a630-83a39ef0af1e\",\"object\":\"chat.completion.chunk\",\"created\":1742851811,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_4e32347616\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq5109n4exj9h69szdm4b4ep\"}}\n\ndata: {\"id\":\"chatcmpl-21818002-2c5e-4d87-a630-83a39ef0af1e\",\"object\":\"chat.completion.chunk\",\"created\":1742851811,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_4e32347616\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_1n1z\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003ch1\\u003eWhat's up, world!\\u003c/h1\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-21818002-2c5e-4d87-a630-83a39ef0af1e\",\"object\":\"chat.completion.chunk\",\"created\":1742851811,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_4e32347616\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq5109n4exj9h69szdm4b4ep\",\"usage\":{\"queue_time\":0.17448702900000002,\"prompt_tokens\":626,\"prompt_time\":0.071139678,\"completion_tokens\":37,\"completion_time\":0.134545455,\"total_tokens\":663,\"total_time\":0.205685133}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type_1_5dc91f0d69b85091833548a11ddfe048.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type_1_5dc91f0d69b85091833548a11ddfe048.json new file mode 100644 index 0000000000..2497db6ffa --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type_1_5dc91f0d69b85091833548a11ddfe048.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-82292359-f75a-48d0-b058-344fd0eee7de\",\"object\":\"chat.completion.chunk\",\"created\":1742851810,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq5108xjfn5r5qk9qmr5ej9z\"}}\n\ndata: {\"id\":\"chatcmpl-82292359-f75a-48d0-b058-344fd0eee7de\",\"object\":\"chat.completion.chunk\",\"created\":1742851810,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_mkgj\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003ch1\\u003eHello, world!\\u003c/h1\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-82292359-f75a-48d0-b058-344fd0eee7de\",\"object\":\"chat.completion.chunk\",\"created\":1742851810,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq5108xjfn5r5qk9qmr5ej9z\",\"usage\":{\"queue_time\":0.129345575,\"prompt_tokens\":614,\"prompt_time\":0.039723524,\"completion_tokens\":34,\"completion_time\":0.123636364,\"total_tokens\":648,\"total_time\":0.163359888}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type_1_bc10e1eaf300d7e6d430a7265171a414.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type_1_bc10e1eaf300d7e6d430a7265171a414.json new file mode 100644 index 0000000000..365673e04d --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type_1_bc10e1eaf300d7e6d430a7265171a414.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-a9054ed7-9221-470e-b7c4-817b3cc16721\",\"object\":\"chat.completion.chunk\",\"created\":1743024121,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5asnmercr6w794p1sak9m\"}}\n\ndata: {\"id\":\"chatcmpl-a9054ed7-9221-470e-b7c4-817b3cc16721\",\"object\":\"chat.completion.chunk\",\"created\":1743024121,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_x02h\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"\\u003ch1\\u003eHello, world!\\u003c/h1\\u003e\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-a9054ed7-9221-470e-b7c4-817b3cc16721\",\"object\":\"chat.completion.chunk\",\"created\":1743024121,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5asnmercr6w794p1sak9m\",\"usage\":{\"queue_time\":0.102269785,\"prompt_tokens\":605,\"prompt_time\":0.04667419,\"completion_tokens\":34,\"completion_time\":0.123636364,\"total_tokens\":639,\"total_time\":0.170310554}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_6bf38baf29bd79991675ca5dcbe47c1e.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_6bf38baf29bd79991675ca5dcbe47c1e.json new file mode 100644 index 0000000000..203540d780 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_6bf38baf29bd79991675ca5dcbe47c1e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFQ1Qp8Qul6uQjrSJpU2S7tonDyqc\",\n \"object\": \"chat.completion\",\n \"created\": 1743014648,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_EX9V9RXzjz4RZimReuzzAfbY\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hi, world! Bold the text. Link.

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 329,\n \"completion_tokens\": 34,\n \"total_tokens\": 363,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_939306e9f6c3d840526a1f516133b9be.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_939306e9f6c3d840526a1f516133b9be.json new file mode 100644 index 0000000000..6489f5e2d7 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_939306e9f6c3d840526a1f516133b9be.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsMsSdsgSp2hitL3FpFXESzDSDMS\",\n \"object\": \"chat.completion\",\n \"created\": 1746460202,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_36ziBhxZQROIcRkMheEKjbdW\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hi, world! Bold the text. Link.

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 555,\n \"completion_tokens\": 34,\n \"total_tokens\": 589,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_d54f6293c0394db48c48483702fd8f00.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_d54f6293c0394db48c48483702fd8f00.json new file mode 100644 index 0000000000..176939e5df --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_d54f6293c0394db48c48483702fd8f00.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjcPckq4fMZava7i0KrMP4KQHyEA\",\n \"object\": \"chat.completion\",\n \"created\": 1742851649,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_GPRRBalXVdnLvCkz0KW0CXU9\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hi, world! Bold the text. Link.

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 338,\n \"completion_tokens\": 34,\n \"total_tokens\": 372,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_1ba03805f5d360ab3c39045d6a60b9b3.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_1ba03805f5d360ab3c39045d6a60b9b3.json new file mode 100644 index 0000000000..56a8391aba --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_1ba03805f5d360ab3c39045d6a60b9b3.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjcONGIaavS5VlulYs2bwvhPGGUc\",\n \"object\": \"chat.completion\",\n \"created\": 1742851648,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_UQzIKGK8iQA1OtUAdod9QgNG\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 332,\n \"completion_tokens\": 32,\n \"total_tokens\": 364,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_a260e250bad5f8da1128af33f097bd84.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_a260e250bad5f8da1128af33f097bd84.json new file mode 100644 index 0000000000..58c207694b --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_a260e250bad5f8da1128af33f097bd84.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFQ1PhMSiU4MxzwviMGcrsRHfpVBt\",\n \"object\": \"chat.completion\",\n \"created\": 1743014647,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_HFY0tBlZHi7VGA3oQ0SXEA94\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 323,\n \"completion_tokens\": 32,\n \"total_tokens\": 355,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_a30c763c01f0f6343c61a629efe4a481.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_a30c763c01f0f6343c61a629efe4a481.json new file mode 100644 index 0000000000..647b0ec42b --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_a30c763c01f0f6343c61a629efe4a481.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsMrFBS7XbKAuWUwPKqDaEzbKU4t\",\n \"object\": \"chat.completion\",\n \"created\": 1746460201,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_ww1SMDloxnthUD7G2aCWceon\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 549,\n \"completion_tokens\": 32,\n \"total_tokens\": 581,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/plain source block, add mention_1_2f3c371626b3aa122196ecd4499b3b75.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/plain source block, add mention_1_2f3c371626b3aa122196ecd4499b3b75.json new file mode 100644 index 0000000000..3a927c8e46 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/plain source block, add mention_1_2f3c371626b3aa122196ecd4499b3b75.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjcn9jElafEOCxrjNsuTxlpNY0Gu\",\n \"object\": \"chat.completion\",\n \"created\": 1742851673,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_Ip2TRB1R1yvGIhFb0rDjXGCG\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, @Jane Doe!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 330,\n \"completion_tokens\": 47,\n \"total_tokens\": 377,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/plain source block, add mention_1_594f37c43d1e53a497e7304b66e48838.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/plain source block, add mention_1_594f37c43d1e53a497e7304b66e48838.json new file mode 100644 index 0000000000..be850c5a75 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/plain source block, add mention_1_594f37c43d1e53a497e7304b66e48838.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsMpO3yKaNNITzroo49X3ilSgAKU\",\n \"object\": \"chat.completion\",\n \"created\": 1746460199,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_Wes6gJf40U21NTfRtMlBMXVG\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, @Jane Doe!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 547,\n \"completion_tokens\": 47,\n \"total_tokens\": 594,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/plain source block, add mention_1_f632aa566d6c4e316400140730d4b8fc.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/plain source block, add mention_1_f632aa566d6c4e316400140730d4b8fc.json new file mode 100644 index 0000000000..fb6609d252 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/plain source block, add mention_1_f632aa566d6c4e316400140730d4b8fc.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFQ1MJzufC7J0esTQ5Vt2zqaJZ8td\",\n \"object\": \"chat.completion\",\n \"created\": 1743014644,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_8KIDkask3BdVkRJ9BFFk0S9y\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, @Jane Doe!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 321,\n \"completion_tokens\": 47,\n \"total_tokens\": 368,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/remove column_1_93497c3d9f384a95dc6b48b7cdb26789.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/remove column_1_93497c3d9f384a95dc6b48b7cdb26789.json new file mode 100644 index 0000000000..bee1d6d682 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/remove column_1_93497c3d9f384a95dc6b48b7cdb26789.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Remove the second column\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsMxuLT2ksxpf7DAxS42UKGMYjsZ\",\n \"object\": \"chat.completion\",\n \"created\": 1746460207,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_hk1JmHg8qCP2M1sYpfEiGOxb\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 3

Table Cell 4

Table Cell 6

Table Cell 7

Table Cell 9

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 617,\n \"completion_tokens\": 156,\n \"total_tokens\": 773,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/remove last column_1_d815def55950a4cf3eabbeb64a220c6a.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/remove last column_1_d815def55950a4cf3eabbeb64a220c6a.json new file mode 100644 index 0000000000..cb73760695 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/remove last column_1_d815def55950a4cf3eabbeb64a220c6a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Remove the last column\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTvuj02GBIMBH2QBTCxDKgKNBpg0j\",\n \"object\": \"chat.completion\",\n \"created\": 1746473833,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_8lzIAXeu0p43GC8AMCofJw5q\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 4

Table Cell Bold 5

Table Cell 7

Table Cell 8

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 617,\n \"completion_tokens\": 161,\n \"total_tokens\": 778,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/remove last row_1_57b3ce143304d3e6dee61a2e1a76a3c9.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/remove last row_1_57b3ce143304d3e6dee61a2e1a76a3c9.json new file mode 100644 index 0000000000..660fc11736 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/remove last row_1_57b3ce143304d3e6dee61a2e1a76a3c9.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Remove the last row\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTvulquhdmHNHRH5Tphc4Ae1R3hy0\",\n \"object\": \"chat.completion\",\n \"created\": 1746473835,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_kxbW2V1vYaTkvWzN0S5LKZNv\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 617,\n \"completion_tokens\": 157,\n \"total_tokens\": 774,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/remove row_1_bbc7278c05aeec5fb9f890d15691703a.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/remove row_1_bbc7278c05aeec5fb9f890d15691703a.json new file mode 100644 index 0000000000..935e6c7416 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/remove row_1_bbc7278c05aeec5fb9f890d15691703a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Remove the second row\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsN0o64bOCQajLRys6jBTBfmFm80\",\n \"object\": \"chat.completion\",\n \"created\": 1746460210,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_doJlhQqZ2LDTenvnKNqzCZmA\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 7

Table Cell 8

Table Cell 9

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 617,\n \"completion_tokens\": 152,\n \"total_tokens\": 769,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_bfec636ac1d894e23c7daa5587680a4a.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_bfec636ac1d894e23c7daa5587680a4a.json new file mode 100644 index 0000000000..2c5eea575f --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_bfec636ac1d894e23c7daa5587680a4a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFQ15tP7e8RtEAAqcBMKAs6mlTD6n\",\n \"object\": \"chat.completion\",\n \"created\": 1743014627,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_uitQMhvcrireZWq4ruKvF0Au\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, updated content

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 320,\n \"completion_tokens\": 28,\n \"total_tokens\": 348,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_dd9c93f8c1d1ca6bafe842cc6896bd96.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_dd9c93f8c1d1ca6bafe842cc6896bd96.json new file mode 100644 index 0000000000..30d7e7bcf8 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_dd9c93f8c1d1ca6bafe842cc6896bd96.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"translate the first paragraph to german\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsMc7DU6AWb4SAekrlkzs6FTn4XT\",\n \"object\": \"chat.completion\",\n \"created\": 1746460186,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_QSEgkn54rdYj2miE4ER74DLV\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hallo, Welt!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 538,\n \"completion_tokens\": 28,\n \"total_tokens\": 566,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_dfd90acf8bc3ac481bccfdb9dd0cf9fd.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_dfd90acf8bc3ac481bccfdb9dd0cf9fd.json new file mode 100644 index 0000000000..18544fc678 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_dfd90acf8bc3ac481bccfdb9dd0cf9fd.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjcFQZKre5m6MUhXEGBXbh8sGIFE\",\n \"object\": \"chat.completion\",\n \"created\": 1742851639,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_Cur8MqYFjsT99SDFlQWh21tM\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, updated content

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 329,\n \"completion_tokens\": 28,\n \"total_tokens\": 357,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_b4dccffac7a326d1e96b984bfe84367c.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_b4dccffac7a326d1e96b984bfe84367c.json new file mode 100644 index 0000000000..5ba7511917 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_b4dccffac7a326d1e96b984bfe84367c.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsMkvwXjRODg7ouaUTOgoOYkIDr4\",\n \"object\": \"chat.completion\",\n \"created\": 1746460194,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_arycoGsmN8ywSyZn2TsIiTbg\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 540,\n \"completion_tokens\": 66,\n \"total_tokens\": 606,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_dddb03d860730a1e5017dca1906f983d.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_dddb03d860730a1e5017dca1906f983d.json new file mode 100644 index 0000000000..150658d56b --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_dddb03d860730a1e5017dca1906f983d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFQ1FNgTVsSoGIirQj8rrNhMwV1NY\",\n \"object\": \"chat.completion\",\n \"created\": 1743014637,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_P7BkObP7moop5lmWW9J6Fmpx\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 314,\n \"completion_tokens\": 52,\n \"total_tokens\": 366,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_f91687ea77f6b25e6a7953a6147e3396.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_f91687ea77f6b25e6a7953a6147e3396.json new file mode 100644 index 0000000000..a81b3de743 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_f91687ea77f6b25e6a7953a6147e3396.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjcKhDrkaNuvz8iDE8Ob8smRn8DA\",\n \"object\": \"chat.completion\",\n \"created\": 1742851644,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_Fo3tlqAqONDDUQTTtQuQeqoo\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 323,\n \"completion_tokens\": 52,\n \"total_tokens\": 375,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_2372a9143d3b4f86972b8d27917035bf.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_2372a9143d3b4f86972b8d27917035bf.json new file mode 100644 index 0000000000..d02c16c0d3 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_2372a9143d3b4f86972b8d27917035bf.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjcMOCJ4ydJUYS7kYdSxLKmcQDEL\",\n \"object\": \"chat.completion\",\n \"created\": 1742851646,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_EskQPDQRb5nDNmW24YeFaCcW\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello! How are you doing?

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 334,\n \"completion_tokens\": 35,\n \"total_tokens\": 369,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_5006e7000fdb500acc971fc1bda83603.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_5006e7000fdb500acc971fc1bda83603.json new file mode 100644 index 0000000000..c3b126faa0 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_5006e7000fdb500acc971fc1bda83603.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing? I'm feeling blue!' (remove mention but keep bold text)\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsMmCIao57Q7koo6A9LKKPgja2K3\",\n \"object\": \"chat.completion\",\n \"created\": 1746460196,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_XS8sKCU4o2kKQktMKqGyZ989\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello! How are you doing? I'm feeling blue!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 555,\n \"completion_tokens\": 49,\n \"total_tokens\": 604,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_8923c8bf258c1b1e5b591b3b6587eb70.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_8923c8bf258c1b1e5b591b3b6587eb70.json new file mode 100644 index 0000000000..a5e19fe5eb --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_8923c8bf258c1b1e5b591b3b6587eb70.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFQ1J9CFBpwzUKS9hORBrxBmJLERy\",\n \"object\": \"chat.completion\",\n \"created\": 1743014641,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_qR5okHhzk6NAbWbNJ3WTksE0\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello! How are you doing?

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 325,\n \"completion_tokens\": 35,\n \"total_tokens\": 360,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, replace content_1_ecaa330191e95da24f86f632cf383c7d.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, replace content_1_ecaa330191e95da24f86f632cf383c7d.json new file mode 100644 index 0000000000..a5c8df7719 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, replace content_1_ecaa330191e95da24f86f632cf383c7d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsMhZEQVSv7Z0wTiq8LJXFxm1rl4\",\n \"object\": \"chat.completion\",\n \"created\": 1746460191,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_0wNtmhPFDcBUE1sdETcuLuyp\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, updated content

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 546,\n \"completion_tokens\": 28,\n \"total_tokens\": 574,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update mention prop_1_12cb64264d47f9ec41e7422870338196.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update mention prop_1_12cb64264d47f9ec41e7422870338196.json new file mode 100644 index 0000000000..3df58e1735 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update mention prop_1_12cb64264d47f9ec41e7422870338196.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjcp90ULnIVtlUUlOcgM2PSnFgFt\",\n \"object\": \"chat.completion\",\n \"created\": 1742851675,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_ayfu6dTbGi1qXCGjz0o1ojbf\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @Jane Doe! How are you doing?

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 321,\n \"completion_tokens\": 57,\n \"total_tokens\": 378,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update mention prop_1_5ea94bb2c6cfd5e280ed085a8a22bcf6.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update mention prop_1_5ea94bb2c6cfd5e280ed085a8a22bcf6.json new file mode 100644 index 0000000000..7d6a00ff94 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update mention prop_1_5ea94bb2c6cfd5e280ed085a8a22bcf6.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFQ1NGzjN0Vlen4sDBcQtWhybzjS2\",\n \"object\": \"chat.completion\",\n \"created\": 1743014645,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_rlaH81S4sDVXhCidSuZ8jlh8\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @Jane Doe! How are you doing?

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 312,\n \"completion_tokens\": 57,\n \"total_tokens\": 369,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update mention prop_1_d8bf80f655bb45c80fa545dba338e8cc.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update mention prop_1_d8bf80f655bb45c80fa545dba338e8cc.json new file mode 100644 index 0000000000..675e94771c --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update mention prop_1_d8bf80f655bb45c80fa545dba338e8cc.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsMqMk4lxqlG5tYAnqmhs6LQo0Qb\",\n \"object\": \"chat.completion\",\n \"created\": 1746460200,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_0eAHxIN60syLxHM4H2gpFxQF\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @Jane Doe! How are you doing? I'm feeling blue!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 538,\n \"completion_tokens\": 71,\n \"total_tokens\": 609,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update text_1_386484769643f55cbc790a7840d829b2.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update text_1_386484769643f55cbc790a7840d829b2.json new file mode 100644 index 0000000000..455c645408 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update text_1_386484769643f55cbc790a7840d829b2.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"translate the second block to german\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsMipCqECM9ZB3xsjaRSEm5mBuQS\",\n \"object\": \"chat.completion\",\n \"created\": 1746460192,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_JGevvKgw1bFdNW6MmAhgadex\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hallo, @John Doe! Wie geht es dir? Mir ist zumute nach Blau!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 538,\n \"completion_tokens\": 75,\n \"total_tokens\": 613,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_6a28de477ca71c4b728eded37197526c.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_6a28de477ca71c4b728eded37197526c.json new file mode 100644 index 0000000000..dc9ff1bc52 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_6a28de477ca71c4b728eded37197526c.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFQ1EAREsMyW1r7RLa0feGKPp4YtZ\",\n \"object\": \"chat.completion\",\n \"created\": 1743014636,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_56TVoQw4yRHv3cZLFF0MVu2x\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, updated content

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 320,\n \"completion_tokens\": 28,\n \"total_tokens\": 348,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_e4b1f9183ec696c7c2e11f24b210fcab.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_e4b1f9183ec696c7c2e11f24b210fcab.json new file mode 100644 index 0000000000..faebc61153 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_e4b1f9183ec696c7c2e11f24b210fcab.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjcJGhoASfp0UHQ8Wgz4jyIU7Nm0\",\n \"object\": \"chat.completion\",\n \"created\": 1742851643,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_jnMI4vkOtxXlgGvNtiNBwq53\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, updated content

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 329,\n \"completion_tokens\": 28,\n \"total_tokens\": 357,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark (paragraph)_1_13bff50622d88621ad166d8634f26348.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark (paragraph)_1_13bff50622d88621ad166d8634f26348.json new file mode 100644 index 0000000000..9612c6620f --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark (paragraph)_1_13bff50622d88621ad166d8634f26348.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make first paragraph bold\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsMoQTPyImrocbQR6FDPheW2mT1H\",\n \"object\": \"chat.completion\",\n \"created\": 1746460198,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_zgaRPQbaoBITGJqN3IsgYdr9\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 536,\n \"completion_tokens\": 31,\n \"total_tokens\": 567,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark (word)_1_2c0d42e1012e2e84546ef99a144e3d42.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark (word)_1_2c0d42e1012e2e84546ef99a144e3d42.json new file mode 100644 index 0000000000..f77cbe518e --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark (word)_1_2c0d42e1012e2e84546ef99a144e3d42.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsMn1DTmjIzdhARu0y2cb6KpH4HL\",\n \"object\": \"chat.completion\",\n \"created\": 1746460197,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_MGj2EUGntbG3S7wbEeFBwTiw\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 543,\n \"completion_tokens\": 32,\n \"total_tokens\": 575,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_1dfd65db9d31cf4b1ab2dddda82aaacb.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_1dfd65db9d31cf4b1ab2dddda82aaacb.json new file mode 100644 index 0000000000..92c3d5ad0d --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_1dfd65db9d31cf4b1ab2dddda82aaacb.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFQ1L2vtq2bCjYcAwDnxK4R4BYdDY\",\n \"object\": \"chat.completion\",\n \"created\": 1743014643,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_vbvvqc2DI8N5DzLJOyGjMFy5\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 317,\n \"completion_tokens\": 32,\n \"total_tokens\": 349,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_28033da86871eb3777b3eba60f624cff.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_28033da86871eb3777b3eba60f624cff.json new file mode 100644 index 0000000000..01f6c9cc47 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_28033da86871eb3777b3eba60f624cff.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjcNUyAXU0oum8HHA7PRx3sSLmaO\",\n \"object\": \"chat.completion\",\n \"created\": 1742851647,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_fGQhzjr2FN4vDrE0xB3VXQpV\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 326,\n \"completion_tokens\": 32,\n \"total_tokens\": 358,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop and content_1_5568e7d39060d3bc1e48b7d80c905821.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop and content_1_5568e7d39060d3bc1e48b7d80c905821.json new file mode 100644 index 0000000000..42f8437fee --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop and content_1_5568e7d39060d3bc1e48b7d80c905821.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjcm7P9E3YeYBLlZ6VvuBzpGNufi\",\n \"object\": \"chat.completion\",\n \"created\": 1742851672,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_crFiaWrUmnvHCtbdq10T6ORB\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

What's up, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 332,\n \"completion_tokens\": 36,\n \"total_tokens\": 368,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop and content_1_7749addc97d5ee6fa8bf7252bfb118f1.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop and content_1_7749addc97d5ee6fa8bf7252bfb118f1.json new file mode 100644 index 0000000000..9c47d20d5c --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop and content_1_7749addc97d5ee6fa8bf7252bfb118f1.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTrkXoxHudbFAFsQ63frIM4LqkQxa\",\n \"object\": \"chat.completion\",\n \"created\": 1746457825,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_gHbMWNHAOw9Va3dh73iWQUrq\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

What's up, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 549,\n \"completion_tokens\": 36,\n \"total_tokens\": 585,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop and content_1_80d1ad07e2bddafbec615b1b73fae461.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop and content_1_80d1ad07e2bddafbec615b1b73fae461.json new file mode 100644 index 0000000000..f0d729ff22 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop and content_1_80d1ad07e2bddafbec615b1b73fae461.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFQ1D7gZzyyPc8DksSCuNSmwruqAO\",\n \"object\": \"chat.completion\",\n \"created\": 1743014635,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_iURGUtBa7aUxS1sDnaewOGvx\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

What's up, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 323,\n \"completion_tokens\": 36,\n \"total_tokens\": 359,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop_1_87c95b4b400aebf13dea3e8a21189c29.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop_1_87c95b4b400aebf13dea3e8a21189c29.json new file mode 100644 index 0000000000..a09aeaf408 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop_1_87c95b4b400aebf13dea3e8a21189c29.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjcknBD59h8WO6EvVA5Q6FCNizEV\",\n \"object\": \"chat.completion\",\n \"created\": 1742851670,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_3QMMsPqSHKBDyQILxIPyNNAm\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 321,\n \"completion_tokens\": 35,\n \"total_tokens\": 356,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop_1_c0999edcdbda9a91a5c740ee12828141.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop_1_c0999edcdbda9a91a5c740ee12828141.json new file mode 100644 index 0000000000..55dc6fc66e --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop_1_c0999edcdbda9a91a5c740ee12828141.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFQ17GaFDnq7pOrfvcCYdRXTKe7lm\",\n \"object\": \"chat.completion\",\n \"created\": 1743014629,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_L6IDpjnkYOpQOGsGETVoxZZR\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 312,\n \"completion_tokens\": 35,\n \"total_tokens\": 347,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop_1_e1d01c481c87efc69aa820182ce19f0b.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop_1_e1d01c481c87efc69aa820182ce19f0b.json new file mode 100644 index 0000000000..511cf6f815 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop_1_e1d01c481c87efc69aa820182ce19f0b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsMebC7JXlZKU4EfYbAWSv1lZaJw\",\n \"object\": \"chat.completion\",\n \"created\": 1746460188,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_wX9lZEGcXh8ENkA5WHU2e4Yy\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 538,\n \"completion_tokens\": 35,\n \"total_tokens\": 573,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_55f7c50060eebf901202105eeb299247.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_55f7c50060eebf901202105eeb299247.json new file mode 100644 index 0000000000..f30301693f --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_55f7c50060eebf901202105eeb299247.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjcIaK5XKDw1n9oYmS0tv955u3EX\",\n \"object\": \"chat.completion\",\n \"created\": 1742851642,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_o7tFFynDWupW46lipcrpzlLU\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

What's up, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 332,\n \"completion_tokens\": 31,\n \"total_tokens\": 363,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_a6e7b275c73cd050cee543a0925e1841.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_a6e7b275c73cd050cee543a0925e1841.json new file mode 100644 index 0000000000..6b2e557916 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_a6e7b275c73cd050cee543a0925e1841.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFQ19lteyI0tsBfh6ZJ5ABLqhjKLp\",\n \"object\": \"chat.completion\",\n \"created\": 1743014631,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_NwF60VSA2bEFsRaQM3Q10Hbh\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

What's up, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 323,\n \"completion_tokens\": 31,\n \"total_tokens\": 354,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_e6a7f7be772299d9178ba780ce7f3e2f.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_e6a7f7be772299d9178ba780ce7f3e2f.json new file mode 100644 index 0000000000..d897b93c5c --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_e6a7f7be772299d9178ba780ce7f3e2f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTrkGvPFCNEdA0Z8dsi7TUrFVgf7w\",\n \"object\": \"chat.completion\",\n \"created\": 1746457808,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_iFoe4Mz0leUkijTXt8YFlxZq\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

What's up, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 549,\n \"completion_tokens\": 31,\n \"total_tokens\": 580,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_1ea166413cdc5436bf79703bdc87ceb8.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_1ea166413cdc5436bf79703bdc87ceb8.json new file mode 100644 index 0000000000..60d54a87cd --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_1ea166413cdc5436bf79703bdc87ceb8.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEjcHCBMw9MOyMrZdCQplonn8zfi1\",\n \"object\": \"chat.completion\",\n \"created\": 1742851641,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_2a678DKzEAeRYg4DwcCEYYl0\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 321,\n \"completion_tokens\": 29,\n \"total_tokens\": 350,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_56c60bba519b089db8947bd3ff129c28.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_56c60bba519b089db8947bd3ff129c28.json new file mode 100644 index 0000000000..8e70db5822 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_56c60bba519b089db8947bd3ff129c28.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsMdPVcPljMRWTeIMLTff9Jc8CmM\",\n \"object\": \"chat.completion\",\n \"created\": 1746460187,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_ApUXzPRo53FCk1MkL0tZlVn7\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 538,\n \"completion_tokens\": 29,\n \"total_tokens\": 567,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_ee5a7211406bbf11d6691364928b1aec.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_ee5a7211406bbf11d6691364928b1aec.json new file mode 100644 index 0000000000..9d1362410f --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_ee5a7211406bbf11d6691364928b1aec.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFQ16kTtez5HtNn7QaLqv6Ci8eOLz\",\n \"object\": \"chat.completion\",\n \"created\": 1743014628,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_Cy7f3N2Y24Zs9DVV5Ul7xqu8\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 312,\n \"completion_tokens\": 29,\n \"total_tokens\": 341,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6bb567654c\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update table cell_1_8cd69d695b5aaed3d1eb4098f440925b.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update table cell_1_8cd69d695b5aaed3d1eb4098f440925b.json new file mode 100644 index 0000000000..01fcbf264f --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update table cell_1_8cd69d695b5aaed3d1eb4098f440925b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"update the first cell to 'Hello, world!'\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTsMvbmeKdeGZjo6BzmbTCaWF2Ah6\",\n \"object\": \"chat.completion\",\n \"created\": 1746460205,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_AykJ4NnpXVVtYzkHy94j1zzU\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 623,\n \"completion_tokens\": 219,\n \"total_tokens\": 842,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update table to caps_1_d2c9ef88fcb16c1a15a7020fddb35c41.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update table to caps_1_d2c9ef88fcb16c1a15a7020fddb35c41.json new file mode 100644 index 0000000000..792d5a3e51 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update table to caps_1_d2c9ef88fcb16c1a15a7020fddb35c41.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"update all table content to CAPS\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BTvugWuImX3IKo4xIekStSCFyDKWs\",\n \"object\": \"chat.completion\",\n \"created\": 1746473830,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_hYYqIBUUjNIYYwPjwm705P2g\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

TABLE CELL 1

TABLE CELL 2

TABLE CELL 3

TABLE CELL 4

TABLE CELL BOLD 5

TABLE CELL 6

TABLE CELL 7

TABLE CELL 8

TABLE CELL 9

\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 619,\n \"completion_tokens\": 222,\n \"total_tokens\": 841,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_d8864f8b6b\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_4828e41fa6db3744fcaf55a634c6360c.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_4828e41fa6db3744fcaf55a634c6360c.json new file mode 100644 index 0000000000..fb63eaa088 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_4828e41fa6db3744fcaf55a634c6360c.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_iwu69IaI3Rm8aT6xStWVuKi7\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hi\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" the\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Link\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5KYW6bCFTVL7ZPoqs1H5gz4ZWK\",\"object\":\"chat.completion.chunk\",\"created\":1746459114,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_a23636e6fbd8dd34a03a45d14fde89f0.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_a23636e6fbd8dd34a03a45d14fde89f0.json new file mode 100644 index 0000000000..4aa5b9ae7d --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_a23636e6fbd8dd34a03a45d14fde89f0.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_70CHhoOSNjnRjvtF4KUaGI7p\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hi\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" the\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Link\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzqXGHGnhiXuhk1fCV4Ku0nkptY\",\"object\":\"chat.completion.chunk\",\"created\":1743014550,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_1d65a805600a395c5a458f3533c842ba.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_1d65a805600a395c5a458f3533c842ba.json new file mode 100644 index 0000000000..bb9e2a8f13 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_1d65a805600a395c5a458f3533c842ba.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_NrTaSmimWlPXABbeEEs5FeMT\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Link\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Im1GLswTVBPL6ErW1ncIciJ71\",\"object\":\"chat.completion.chunk\",\"created\":1746459112,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_e9547ae9eb34ba44905353dbfb6da800.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_e9547ae9eb34ba44905353dbfb6da800.json new file mode 100644 index 0000000000..6318b0a996 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_e9547ae9eb34ba44905353dbfb6da800.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_03fgtROpZUpPq0v34twLnYnQ\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Link\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzp4ll1CHFbVIISG2XRWNCoJhh8\",\"object\":\"chat.completion.chunk\",\"created\":1743014549,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/plain source block, add mention_1_70216235a46a13ef0018c36c1d7b1b61.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/plain source block, add mention_1_70216235a46a13ef0018c36c1d7b1b61.json new file mode 100644 index 0000000000..3c067306a0 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/plain source block, add mention_1_70216235a46a13ef0018c36c1d7b1b61.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_ZttVX8Q8t0QldMJHZwautnTX\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"span\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-inline\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"mention\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-user\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Jane\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"@\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Jane\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPznBssGWm04yQcdnfwILkE96uhi\",\"object\":\"chat.completion.chunk\",\"created\":1743014547,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/plain source block, add mention_1_911a3ae9d420a4bd9f1aff06f8734d8d.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/plain source block, add mention_1_911a3ae9d420a4bd9f1aff06f8734d8d.json new file mode 100644 index 0000000000..db2e018d7b --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/plain source block, add mention_1_911a3ae9d420a4bd9f1aff06f8734d8d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_MuUHYCKiOFrfpzwLBTwq5CzF\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"span\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-inline\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"mention\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-user\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Jane\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"@\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Jane\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5F2fGUzhvnujuKTUtyyKFV2AUB\",\"object\":\"chat.completion.chunk\",\"created\":1746459109,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/remove column_1_1b0a31689c06e10b1962f97a033e65dd.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/remove column_1_1b0a31689c06e10b1962f97a033e65dd.json new file mode 100644 index 0000000000..e083062ca3 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/remove column_1_1b0a31689c06e10b1962f97a033e65dd.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Remove the second column\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_kfLOcR1HOVrI7yxSknqpNQ26\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"4\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"6\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"7\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"9\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5PueH5UxfChT0AtNXagxlPVcGW\",\"object\":\"chat.completion.chunk\",\"created\":1746459119,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/remove last column_1_c514c6d27e3a3a3e5869ab2e086f3237.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/remove last column_1_c514c6d27e3a3a3e5869ab2e086f3237.json new file mode 100644 index 0000000000..04d58251d9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/remove last column_1_c514c6d27e3a3a3e5869ab2e086f3237.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Remove the last column\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_X82vFCPbyZGxFcYUGdxcZZfG\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"4\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"strong\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"5\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"7\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"8\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvri2UArkoMiZOiM14HHDaRgEccv\",\"object\":\"chat.completion.chunk\",\"created\":1746473646,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/remove last row_1_7e1fb882a8f52fa11e82a138bdcf2ddb.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/remove last row_1_7e1fb882a8f52fa11e82a138bdcf2ddb.json new file mode 100644 index 0000000000..df38dfb7e4 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/remove last row_1_7e1fb882a8f52fa11e82a138bdcf2ddb.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Remove the last row\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_7qgg8s637BL82aSc1vwwPdZA\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"4\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"strong\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"5\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"6\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrkL5dD7Ys2QjbOqBR8srsqZPdo\",\"object\":\"chat.completion.chunk\",\"created\":1746473648,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/remove row_1_8000048d08051b32595b3a37ee7fd74f.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/remove row_1_8000048d08051b32595b3a37ee7fd74f.json new file mode 100644 index 0000000000..709754996c --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/remove row_1_8000048d08051b32595b3a37ee7fd74f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"Remove the second row\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_TGdiYzHuelhnLAoXiVAHVWaf\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"7\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"8\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"9\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Qc4hlnkYwlF11teqH8y8f2OfQ\",\"object\":\"chat.completion.chunk\",\"created\":1746459120,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_6d478ef0730c3f0f04d5279294564198.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_6d478ef0730c3f0f04d5279294564198.json new file mode 100644 index 0000000000..dbc911afaa --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_6d478ef0730c3f0f04d5279294564198.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"translate the first paragraph to german\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_d13ztanRXJdKcnj39shAGkoz\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hallo\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Welt\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4wdUGSmF5hyXnrhcdUR3M1CW4n\",\"object\":\"chat.completion.chunk\",\"created\":1746459090,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_ecb195991bd4141c0a1e95a35a402c72.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_ecb195991bd4141c0a1e95a35a402c72.json new file mode 100644 index 0000000000..1a50166aaf --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_ecb195991bd4141c0a1e95a35a402c72.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_9Q7XcQm2ySxmHjlQs0BHUzHo\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" updated\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzc8ZcuyhfdLwDde8oLYuAqZTaq\",\"object\":\"chat.completion.chunk\",\"created\":1743014536,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_e9899ccbe4b0fbeee956c8236b58a8da.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_e9899ccbe4b0fbeee956c8236b58a8da.json new file mode 100644 index 0000000000..a5e23dea88 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_e9899ccbe4b0fbeee956c8236b58a8da.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_7IyrY8t5fRqjU7uGTbfzSYIQ\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"span\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-inline\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"mention\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-user\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"John\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"@\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"John\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzjX32TbniIYWGyT1imVm86r49H\",\"object\":\"chat.completion.chunk\",\"created\":1743014543,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_ea31402bfacfb6c2d0998d31a1bad246.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_ea31402bfacfb6c2d0998d31a1bad246.json new file mode 100644 index 0000000000..5ad8e4af3d --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_ea31402bfacfb6c2d0998d31a1bad246.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_CLyVGCGFsLhhPux5ZLlthqbo\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"span\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-inline\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"mention\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-user\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"John\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"@\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"John\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"span\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-color\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"blue\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"I'm\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" feeling\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" blue\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs595mHfdnAc5nRJ8geffOs4c6aE\",\"object\":\"chat.completion.chunk\",\"created\":1746459103,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_94a9cd085ff0f145422e2d6ea9503b3f.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_94a9cd085ff0f145422e2d6ea9503b3f.json new file mode 100644 index 0000000000..1d2333393b --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_94a9cd085ff0f145422e2d6ea9503b3f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing? I'm feeling blue!' (remove mention but keep bold text)\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_Rgwu0h03EosOGt5j6G1R4VSb\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"strong\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"I'm\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" feeling\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" blue\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Bth6rmsKWo8pGaVwxfKbCzBIF\",\"object\":\"chat.completion.chunk\",\"created\":1746459105,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_c19a87a831217ee11731fce53477569c.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_c19a87a831217ee11731fce53477569c.json new file mode 100644 index 0000000000..b367eff0e8 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_c19a87a831217ee11731fce53477569c.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_zTzpEMyKZI3FGA944SbxiuJn\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"strong\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzk1BBwSW95tfZPOzwTwQQhcK5M\",\"object\":\"chat.completion.chunk\",\"created\":1743014544,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, replace content_1_600cbb4c0af44ee6aeb03a33566d842d.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, replace content_1_600cbb4c0af44ee6aeb03a33566d842d.json new file mode 100644 index 0000000000..e8885ee7f2 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, replace content_1_600cbb4c0af44ee6aeb03a33566d842d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_pqKWD6JiSe8JGpfvp1QbAwhk\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" updated\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs53Z7Iz8VhahfioX3Psdwdxt7Wh\",\"object\":\"chat.completion.chunk\",\"created\":1746459097,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, update mention prop_1_d1aa66b01feb6b0c749e8c258b2e9179.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, update mention prop_1_d1aa66b01feb6b0c749e8c258b2e9179.json new file mode 100644 index 0000000000..b6e8e973f2 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, update mention prop_1_d1aa66b01feb6b0c749e8c258b2e9179.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_oMe8W6y2BBGdDZbfA3Pa3pwZ\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"span\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-inline\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"mention\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-user\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Jane\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"@\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Jane\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"strong\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzoO7ESrdbOQ2TLIgvFJGolNdpc\",\"object\":\"chat.completion.chunk\",\"created\":1743014548,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, update mention prop_1_d226e567c397db22b8351bea725773a6.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, update mention prop_1_d226e567c397db22b8351bea725773a6.json new file mode 100644 index 0000000000..36506105f8 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, update mention prop_1_d226e567c397db22b8351bea725773a6.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_VYd0vCXOJzZV0XsR5cG0tqrX\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"span\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-inline\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"mention\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-user\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Jane\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"@\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Jane\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"strong\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"span\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-color\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"blue\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"I'm\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" feeling\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" blue\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Gu319EiQFxTEpYUzivIEqOecA\",\"object\":\"chat.completion.chunk\",\"created\":1746459110,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, update text_1_70f59e7fcda7310f42e2cd20bef27e29.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, update text_1_70f59e7fcda7310f42e2cd20bef27e29.json new file mode 100644 index 0000000000..415b28577a --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, update text_1_70f59e7fcda7310f42e2cd20bef27e29.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"translate the second block to german\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_HwRADnZjHGdZr50Fbck17Iq3\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hallo\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"span\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-inline\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"mention\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-user\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"John\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"@\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"John\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Wie\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"strong\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"geht\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" es\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" dir\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"span\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" data\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-color\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"blue\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Mir\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" ist\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" zum\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ute\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" nach\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Blau\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs55tRRmTzDM4JDMD3Vc9Rmw8OxN\",\"object\":\"chat.completion.chunk\",\"created\":1746459099,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block_1_217edf775cc14939eb2f129f48c2910f.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block_1_217edf775cc14939eb2f129f48c2910f.json new file mode 100644 index 0000000000..1ab0f09718 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block_1_217edf775cc14939eb2f129f48c2910f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_4b7vyDi5WRbM1kgAkKlb3Tjq\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" updated\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPziE5DmJG26KOsQDXgwKniuLUTW\",\"object\":\"chat.completion.chunk\",\"created\":1743014542,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark (paragraph)_1_0c3086a06fdb717fcf7f95c2532cd9ce.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark (paragraph)_1_0c3086a06fdb717fcf7f95c2532cd9ce.json new file mode 100644 index 0000000000..ce363a0039 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark (paragraph)_1_0c3086a06fdb717fcf7f95c2532cd9ce.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make first paragraph bold\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_auttFxkUvgxJUMwiUrD7Cyqo\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"strong\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5E9E2AEysDjAKFjpT3LeKVLriu\",\"object\":\"chat.completion.chunk\",\"created\":1746459108,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark (word)_1_d1eafbbce26e11fb957110afad282a45.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark (word)_1_d1eafbbce26e11fb957110afad282a45.json new file mode 100644 index 0000000000..2187874342 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark (word)_1_d1eafbbce26e11fb957110afad282a45.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_ZdAOlqpf9TEavnOsc3FSPGmH\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"strong\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5Dfp2Wmc4oR19G4Fm7QFnsrLqu\",\"object\":\"chat.completion.chunk\",\"created\":1746459107,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark_1_e3393c13d3c94a9fd38e8a8f21f763ba.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark_1_e3393c13d3c94a9fd38e8a8f21f763ba.json new file mode 100644 index 0000000000..c916f62cc9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark_1_e3393c13d3c94a9fd38e8a8f21f763ba.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_PoT8bImJWTyxNR7bbm6eAGr7\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" <\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"strong\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzlO2WSsItaZVznJHi0tCXEDcT5\",\"object\":\"chat.completion.chunk\",\"created\":1743014545,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop and content_1_6744bdfcba3595e47926f83c728b889a.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop and content_1_6744bdfcba3595e47926f83c728b889a.json new file mode 100644 index 0000000000..725123da25 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop and content_1_6744bdfcba3595e47926f83c728b889a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_CxAaV37okBe8HvjntLg54nD6\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" style\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-align\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" right\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\";\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"What's\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" up\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs52CXjodN5Mk64Xh9kExtAdmhy5\",\"object\":\"chat.completion.chunk\",\"created\":1746459096,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop and content_1_acad0fa6e79ca8a9c327d41ec3308dca.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop and content_1_acad0fa6e79ca8a9c327d41ec3308dca.json new file mode 100644 index 0000000000..04358f4a9b --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop and content_1_acad0fa6e79ca8a9c327d41ec3308dca.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_HhY5SiRBKNwRBjzJahS3tl2U\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" style\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-align\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" right\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\";\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"What's\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" up\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzhiRP6KqKyF3QjaUWXQSTNQBYw\",\"object\":\"chat.completion.chunk\",\"created\":1743014541,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop_1_5b9f0ddb94b3d5e5b568e5dd685b75a3.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop_1_5b9f0ddb94b3d5e5b568e5dd685b75a3.json new file mode 100644 index 0000000000..2da136721c --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop_1_5b9f0ddb94b3d5e5b568e5dd685b75a3.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_5iAF01IeZW4VvHp51qpDPtUH\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" style\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-align\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" right\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\";\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPze7OhvvjFMLTVSlXaC2EXU4pef\",\"object\":\"chat.completion.chunk\",\"created\":1743014538,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop_1_615930421c8856f1eb51773a6eac0d64.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop_1_615930421c8856f1eb51773a6eac0d64.json new file mode 100644 index 0000000000..7de579cc92 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop_1_615930421c8856f1eb51773a6eac0d64.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_ouja8CdB6EyJ3Z8Cghy9RMkD\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" style\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"-align\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" right\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\";\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4zAuGwg0okMec94ggGL8yLuoGz\",\"object\":\"chat.completion.chunk\",\"created\":1746459093,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_76df571c92567a7556ea4c63ea2f9890.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_76df571c92567a7556ea4c63ea2f9890.json new file mode 100644 index 0000000000..d297551b93 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_76df571c92567a7556ea4c63ea2f9890.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_8u6uzHCRAhAYx8E8Au83E9ES\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"h\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"What's\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" up\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzfaPGFwz8LAvfaxDwUxXHyrrR2\",\"object\":\"chat.completion.chunk\",\"created\":1743014539,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_9a10d00ef83fa148e9859fd5135e3f6b.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_9a10d00ef83fa148e9859fd5135e3f6b.json new file mode 100644 index 0000000000..9977e8b870 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_9a10d00ef83fa148e9859fd5135e3f6b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_CecGZbcBo7NBByuPleHqxG6C\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"h\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"What's\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" up\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTrjIFaCBAeo7BG0u6IR5PBjoos5p\",\"object\":\"chat.completion.chunk\",\"created\":1746457748,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_878d4253ba30c0351989d3de1582fccd.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_878d4253ba30c0351989d3de1582fccd.json new file mode 100644 index 0000000000..5c66e3283a --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_878d4253ba30c0351989d3de1582fccd.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"cursor\\\":true},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing? I'm feeling blue!

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_gnZ9gMed8fp7lOs9BfqBUfVh\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"h\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs4y6mSGB0gm2Ugzl21sHt5y8pSk\",\"object\":\"chat.completion.chunk\",\"created\":1746459092,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_9c692b1cb0a4df024b5252391cb099db.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_9c692b1cb0a4df024b5252391cb099db.json new file mode 100644 index 0000000000..cf5e6237f1 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_9c692b1cb0a4df024b5252391cb099db.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of html blocks:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Hello, world!

\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"

Hello, @John Doe! How are you doing?

\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"

Hello, world! Bold text. Link.

\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_rMVTbEOfJgc9Uz9uPeJA61kL\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"h\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPzdCXorDvOtZBKNOoxCMIM3Ht6u\",\"object\":\"chat.completion.chunk\",\"created\":1743014537,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6bb567654c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update table cell_1_4c08bc8b8f816525d5bb75e6b600e855.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update table cell_1_4c08bc8b8f816525d5bb75e6b600e855.json new file mode 100644 index 0000000000..8dc5b96536 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update table cell_1_4c08bc8b8f816525d5bb75e6b600e855.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"update the first cell to 'Hello, world!'\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_0dUdXZpisBKeJCWhvF9qiTuf\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"4\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"strong\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"5\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"6\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"7\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"8\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Cell\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"9\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTs5M5hzNxOvv69DZnoJLj2FAezK3\",\"object\":\"chat.completion.chunk\",\"created\":1746459116,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update table to caps_1_44af5d0c7dbdf07bb4370062a725f777.json b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update table to caps_1_44af5d0c7dbdf07bb4370062a725f777.json new file mode 100644 index 0000000000..ab7b19a887 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/__snapshots__/htmlBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update table to caps_1_44af5d0c7dbdf07bb4370062a725f777.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document using HTML blocks. \\n Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). \\n This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"

Table Cell 1

Table Cell 2

Table Cell 3

Table Cell 4

Table Cell Bold 5

Table Cell 6

Table Cell 7

Table Cell 8

Table Cell 9

\\\"},{\\\"cursor\\\":true}]\"},{\"role\":\"system\",\"content\":\"The user asks you to do the following:\"},{\"role\":\"user\",\"content\":\"update all table content to CAPS\"},{\"role\":\"system\",\"content\":\"First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed.\\n EXAMPLE: if user says \\\"below\\\" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. \\n EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need `referenceId` to point to the block before the cursor with position `after` (or block below and `before`).\\n \\n Prefer updating blocks over adding or removing (but this also depends on the user's question).\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"MUST be an id of a block in the document\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"html of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_mgcbXkGgiuVHOIEe3rvzeGr0\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"table\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"TABLE\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" CELL\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"TABLE\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" CELL\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"TABLE\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" CELL\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"TABLE\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" CELL\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"4\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"strong\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"TABLE\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" CELL\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" B\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"OLD\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"5\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"TABLE\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" CELL\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"6\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"tr\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"TABLE\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" CELL\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"7\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"TABLE\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" CELL\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"8\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"<\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"td\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" colspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" rowspan\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"=\\\\\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\\\\\"><\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"p\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\">\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"TABLE\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" CELL\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"9\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BTvrclMVI6q1KY7Ph0ELqYwf06SSG\",\"object\":\"chat.completion.chunk\",\"created\":1746473640,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_d8864f8b6b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/htmlBlocks.test.ts b/packages/xl-ai/src/api/formats/html-blocks/htmlBlocks.test.ts new file mode 100644 index 0000000000..865d4a4261 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/htmlBlocks.test.ts @@ -0,0 +1,130 @@ +import { getCurrentTest } from "@vitest/runner"; +import { getSortedEntries, snapshot, toHashString } from "msw-snapshot"; +import { setupServer } from "msw/node"; +import path from "path"; +import { afterAll, afterEach, beforeAll, describe } from "vitest"; +import { testAIModels } from "../../../testUtil/testAIModels.js"; +import { generateSharedTestCases } from "../tests/sharedTestCases.js"; +import { callLLM } from "./htmlBlocks.js"; + +const BASE_FILE_PATH = path.resolve( + __dirname, + "__snapshots__", + path.basename(__filename) +); + +const fetchCountMap: Record = {}; + +async function createRequestHash(req: Request) { + const url = new URL(req.url); + return [ + // url.host, + // url.pathname, + toHashString([ + req.method, + url.origin, + url.pathname, + getSortedEntries(url.searchParams), + getSortedEntries(req.headers), + // getSortedEntries(req.cookies), + new TextDecoder("utf-8").decode(await req.arrayBuffer()), + ]), + ].join("/"); +} + +// Main test suite with snapshot middleware +describe("Models", () => { + // Define server with snapshot middleware for the main tests + const server = setupServer( + snapshot({ + updateSnapshots: "missing", + // onSnapshotUpdated: "all", + // ignoreSnapshots: true, + async createSnapshotPath(info) { + // use a unique path for each model + const t = getCurrentTest()!; + const mswPath = path.join( + t.suite!.name, // same directory as the test snapshot + "__msw_snapshots__", + t.suite!.suite!.name, // model / streaming params + t.name + ); + // in case there are multiple requests in a test, we need to use a separate snapshot for each request + fetchCountMap[mswPath] = (fetchCountMap[mswPath] || 0) + 1; + const hash = await createRequestHash(info.request); + return mswPath + `_${fetchCountMap[mswPath]}_${hash}.json`; + }, + basePath: BASE_FILE_PATH, + // onFetchFromSnapshot(info, snapshot) { + // console.log("onFetchFromSnapshot", info, snapshot); + // }, + // onFetchFromServer(info, snapshot) { + // console.log("onFetchFromServer", info, snapshot); + // }, + }) + ); + + beforeAll(() => { + server.listen(); + }); + + afterAll(() => { + server.close(); + }); + + afterEach(() => { + delete (window as Window & { __TEST_OPTIONS?: any }).__TEST_OPTIONS; + }); + + const testMatrix = [ + { + model: testAIModels.openai, + stream: true, + }, + { + model: testAIModels.openai, + stream: false, + }, + { + model: testAIModels.groq, + stream: true, + }, + { + model: testAIModels.groq, + stream: false, + }, + // TODO: https://github.com/vercel/ai/issues/5350 + // { + // model: albert, + // stream: true, + // }, + { + model: testAIModels.albert, + stream: false, + }, + + // { + // model: groq, + // }, + // // { + // // model: albert, + // // stream: true, + // // }, + ]; + + for (const params of testMatrix) { + describe(`${params.model.provider}/${params.model.modelId} (${ + params.stream ? "streaming" : "non-streaming" + })`, () => { + generateSharedTestCases((editor, options) => + callLLM(editor, { + ...options, + model: params.model, + maxRetries: 0, + stream: params.stream, + withDelays: false, + }) + ); + }); + } +}); diff --git a/packages/xl-ai/src/api/formats/html-blocks/htmlBlocks.ts b/packages/xl-ai/src/api/formats/html-blocks/htmlBlocks.ts new file mode 100644 index 0000000000..505a51b752 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/htmlBlocks.ts @@ -0,0 +1,184 @@ +import { Block, BlockNoteEditor } from "@blocknote/core"; +import { generateObject, streamObject } from "ai"; +import type { PromptOrMessages } from "../../index.js"; +import { + promptManipulateDocumentUseHTMLBlocks, + promptManipulateSelectionHTMLBlocks, +} from "../../prompts/htmlBlocksPrompt.js"; +import { + generateOperations, + LLMRequestOptions, + streamOperations, +} from "../../streamTool/callLLMWithStreamTools.js"; +import { StreamTool } from "../../streamTool/streamTool.js"; +import { isEmptyParagraph } from "../../util/emptyBlock.js"; +import { CallLLMResult } from "../CallLLMResult.js"; +import { + getDataForPromptNoSelection, + getDataForPromptWithSelection, +} from "./htmlPromptData.js"; +import { tools } from "./tools/index.js"; + +async function getMessages( + editor: BlockNoteEditor, + opts: { + selectedBlocks?: Block[]; + excludeBlockIds?: string[]; + } & PromptOrMessages +) { + // TODO: child blocks + // TODO: document how to customize prompt + if ("messages" in opts && opts.messages) { + return opts.messages; + } else if (opts.selectedBlocks) { + if (opts.excludeBlockIds) { + throw new Error( + "expected excludeBlockIds to be false when selectedBlocks is provided" + ); + } + + return promptManipulateSelectionHTMLBlocks({ + ...(await getDataForPromptWithSelection(editor, opts.selectedBlocks)), + userPrompt: opts.userPrompt, + }); + } else { + if (opts.useSelection) { + throw new Error( + "expected useSelection to be false when selectedBlocks is not provided" + ); + } + return promptManipulateDocumentUseHTMLBlocks({ + ...(await getDataForPromptNoSelection(editor, { + excludeBlockIds: opts.excludeBlockIds, + })), + userPrompt: opts.userPrompt, + }); + } +} + +function getStreamTools( + editor: BlockNoteEditor, + withDelays: boolean, + defaultStreamTools?: { + /** Enable the add tool (default: true) */ + add?: boolean; + /** Enable the update tool (default: true) */ + update?: boolean; + /** Enable the delete tool (default: true) */ + delete?: boolean; + }, + selectionInfo?: { + from: number; + to: number; + } +) { + const mergedStreamTools = { + add: true, + update: true, + delete: true, + ...defaultStreamTools, + }; + + const streamTools: StreamTool[] = [ + ...(mergedStreamTools.update + ? [tools.update(editor, { idsSuffixed: true, withDelays, updateSelection: selectionInfo })] + : []), + ...(mergedStreamTools.add + ? [tools.add(editor, { idsSuffixed: true, withDelays })] + : []), + ...(mergedStreamTools.delete + ? [tools.delete(editor, { idsSuffixed: true, withDelays })] + : []), + ]; + + return streamTools; +} + +// TODO: what to expose as api? +export async function callLLM( + editor: BlockNoteEditor, + opts: Omit & + PromptOrMessages & { + defaultStreamTools?: { + /** Enable the add tool (default: true) */ + add?: boolean; + /** Enable the update tool (default: true) */ + update?: boolean; + /** Enable the delete tool (default: true) */ + delete?: boolean; + }; + stream?: boolean; + deleteEmptyCursorBlock?: boolean; + onStart?: () => void; + withDelays?: boolean; + _generateObjectOptions?: Partial< + Parameters>[0] + >; + _streamObjectOptions?: Partial>[0]>; + } +): Promise { + const { + userPrompt: prompt, + useSelection, + deleteEmptyCursorBlock, + stream, + onStart, + withDelays, + ...rest + } = { + deleteEmptyCursorBlock: true, + stream: true, + withDelays: true, + ...opts, + }; + + const cursorBlock = useSelection + ? undefined + : editor.getTextCursorPosition().block; + + const deleteCursorBlock: string | undefined = + cursorBlock && deleteEmptyCursorBlock && isEmptyParagraph(cursorBlock) + ? cursorBlock.id + : undefined; + + const selectionInfo = useSelection ? editor.getSelection2() : undefined; + + const messages = await getMessages(editor, { + ...opts, + selectedBlocks: selectionInfo?.blocks, + excludeBlockIds: deleteCursorBlock ? [deleteCursorBlock] : undefined, + }); + + const streamTools = getStreamTools(editor, withDelays,opts.defaultStreamTools, selectionInfo ? {from: selectionInfo._meta.startPos, to: selectionInfo._meta.endPos} : undefined); + + let response: + | Awaited>> + | Awaited>>; + + if (stream) { + response = await streamOperations( + streamTools, + { + messages, + ...rest, + }, + () => { + if (deleteCursorBlock) { + editor.removeBlocks([deleteCursorBlock]); + } + onStart?.(); + } + ); + } else { + response = await generateOperations(streamTools, { + messages, + ...rest, + }); + if (deleteCursorBlock) { + editor.removeBlocks([deleteCursorBlock]); + } + onStart?.(); + } + +return new CallLLMResult(response, streamTools); +} diff --git a/packages/xl-ai/src/api/formats/html-blocks/htmlPromptData.ts b/packages/xl-ai/src/api/formats/html-blocks/htmlPromptData.ts new file mode 100644 index 0000000000..f5567885a7 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/htmlPromptData.ts @@ -0,0 +1,37 @@ +import { + Block, + BlockNoteEditor +} from "@blocknote/core"; +import { addCursorPosition } from "../../prompts/promptHelpers/addCursorPosition.js"; +import { convertBlocks } from "../../prompts/promptHelpers/convertBlocks.js"; +import { suffixIDs } from "../../prompts/promptHelpers/suffixIds.js"; +import { trimEmptyBlocks } from "../../prompts/promptHelpers/trimEmptyBlocks.js"; + + export async function getDataForPromptNoSelection(editor: BlockNoteEditor, opts: { + excludeBlockIds?: string[] + }) { + const input = trimEmptyBlocks(editor.document); + const blockArray = await convertBlocks(input, async (block) => { + return editor.blocksToHTMLLossy([block]); + }); + const withCursor = addCursorPosition(editor, blockArray); + const filtered = withCursor.filter(b => "cursor" in b || !(opts.excludeBlockIds || []).includes(b.id)); + const suffixed = suffixIDs(filtered); + return { + htmlBlocks: suffixed, + }; + } + + export async function getDataForPromptWithSelection(editor: BlockNoteEditor, selectedBlocks: Block[]) { + const blockArray = await convertBlocks(selectedBlocks, async (block) => { + return editor.blocksToHTMLLossy([block]); + }); + const suffixed = suffixIDs(blockArray); + + return { + htmlSelectedBlocks: suffixed, + htmlDocument: (await convertBlocks(editor.document, async (block) => { + return editor.blocksToHTMLLossy([block]); + })).map(({ block }) => ({block})), // strip ids so LLM can't accidentally issue updates to ids not in selection + }; + } \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/html-blocks/tools/getPartialHTML.ts b/packages/xl-ai/src/api/formats/html-blocks/tools/getPartialHTML.ts new file mode 100644 index 0000000000..95d77a1b2e --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/tools/getPartialHTML.ts @@ -0,0 +1,39 @@ +/** + * Completes partial HTML by parsing and correcting incomplete tags. + * Examples: + *

hello ->

hello

+ *

hello

hello

+ *

hello

hello

+ *

hello ->

hello

+ *

hello world ->

hello world

+ *

hello world ->

hello world

+ * + * @param html A potentially incomplete HTML string + * @returns A properly formed HTML string with all tags closed + */ +export function getPartialHTML(html: string): string | undefined { + // Simple check: if the last '<' doesn't have a matching '>', + // then we have an incomplete tag at the end + const lastOpenBracket = html.lastIndexOf("<"); + const lastCloseBracket = html.lastIndexOf(">"); + + // Handle incomplete tags by removing everything after the last complete tag + let htmlToProcess = html; + if (lastOpenBracket > lastCloseBracket) { + htmlToProcess = html.substring(0, lastOpenBracket); + // If nothing remains after removing the incomplete tag, return empty string + if (!htmlToProcess.trim()) { + return undefined; + } + } + + // TODO: clean script tags? + // Parse the HTML + const parser = new DOMParser(); + const doc = parser.parseFromString( + `
${htmlToProcess}
`, + "text/html", + ); + const el = doc.body.firstChild as HTMLElement; + return el ? el.innerHTML : ""; +} diff --git a/packages/xl-ai/src/api/formats/html-blocks/tools/index.ts b/packages/xl-ai/src/api/formats/html-blocks/tools/index.ts new file mode 100644 index 0000000000..93583dbe37 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/tools/index.ts @@ -0,0 +1,102 @@ +import { PartialBlock } from "@blocknote/core"; +import { + AddBlocksToolCall, + createAddBlocksTool, +} from "../../../tools/createAddBlocksTool.js"; +import { + createUpdateBlockTool, + UpdateBlockToolCall, +} from "../../../tools/createUpdateBlockTool.js"; +import { deleteBlockTool } from "../../../tools/delete.js"; +import { getPartialHTML } from "./getPartialHTML.js"; +import { createHTMLRebaseTool } from "./rebaseTool.js"; +import { validateBlockFunction } from "./validate.js"; + +export const tools = { + add: createAddBlocksTool({ + description: "Insert new blocks", + schema: { + block: { + $ref: "#/$defs/block", + }, + $defs: { + block: { type: "string", description: "html of block" }, + }, + }, + validateBlock: validateBlockFunction, + rebaseTool: createHTMLRebaseTool, + toJSONToolCall: async (editor, chunk) => { + const blocks = ( + await Promise.all( + chunk.operation.blocks.map(async (html) => { + const parsedHtml = chunk.isPossiblyPartial + ? getPartialHTML(html) + : html; + if (!parsedHtml) { + return []; + } + return (await editor.tryParseHTMLToBlocks(parsedHtml)).map( + (block) => { + delete (block as any).id; + return block; + }, + ); + }), + ) + ).flat(); + + if (blocks.length === 0) { + return undefined; + } + + // hacky + if ((window as any).__TEST_OPTIONS) { + (window as Window & { __TEST_OPTIONS?: any }).__TEST_OPTIONS.mockID = 0; + } + + return { + ...chunk.operation, + blocks, + } satisfies AddBlocksToolCall>; + }, + }), + update: createUpdateBlockTool({ + description: "Update a block", + schema: { + block: { + $ref: "#/$defs/block", + }, + $defs: { + block: { type: "string", description: "html of block" }, + }, + }, + validateBlock: validateBlockFunction, + rebaseTool: createHTMLRebaseTool, + toJSONToolCall: async (editor, chunk) => { + const html = chunk.isPossiblyPartial + ? getPartialHTML(chunk.operation.block) + : chunk.operation.block; + + if (!html) { + return undefined; + } + + const block = (await editor.tryParseHTMLToBlocks(html))[0]; + + // console.log("update", operation.block); + // console.log("html", html); + // hacky + if ((window as any).__TEST_OPTIONS) { + (window as Window & { __TEST_OPTIONS?: any }).__TEST_OPTIONS.mockID = 0; + } + + delete (block as any).id; + + return { + ...chunk.operation, + block, + } satisfies UpdateBlockToolCall>; + }, + }), + delete: deleteBlockTool, +}; diff --git a/packages/xl-ai/src/api/formats/html-blocks/tools/rebaseTool.ts b/packages/xl-ai/src/api/formats/html-blocks/tools/rebaseTool.ts new file mode 100644 index 0000000000..0ece0a3cb0 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/tools/rebaseTool.ts @@ -0,0 +1,51 @@ +import { BlockNoteEditor, getBlock } from "@blocknote/core"; +import { updateToReplaceSteps } from "../../../../prosemirror/changeset.js"; +import { + getApplySuggestionsTr, + rebaseTool, +} from "../../../../prosemirror/rebaseTool.js"; + +export async function createHTMLRebaseTool( + id: string, + editor: BlockNoteEditor, +) { + const tr = getApplySuggestionsTr(editor); + const block = getBlock(tr.doc, id); + if (!block) { + // debugger; + throw new Error("block not found"); + } + const html = await editor.blocksToHTMLLossy([block]); + const blocks = await editor.tryParseHTMLToBlocks(html); + if (blocks.length !== 1) { + throw new Error("html diff invalid block count"); + } + const htmlBlock = blocks[0]; + htmlBlock.id = id; + // console.log(html); + // console.log(JSON.stringify(blocks, null, 2)); + const steps = updateToReplaceSteps( + { + id, + block: htmlBlock, + type: "update", + }, + tr.doc, + ); + + if (steps.length) { + console.error("html diff", steps); + // throw new Error("html diff"); + } + // const stepMapping = new Mapping(); + // for (const step of steps) { + // const mapped = step.map(stepMapping); + // if (!mapped) { + // throw new Error("Failed to map step"); + // } + // tr.step(mapped); + // stepMapping.appendMap(mapped.getMap()); + // } + + return rebaseTool(editor, tr); +} diff --git a/packages/xl-ai/src/api/formats/html-blocks/tools/validate.ts b/packages/xl-ai/src/api/formats/html-blocks/tools/validate.ts new file mode 100644 index 0000000000..35ffd27e42 --- /dev/null +++ b/packages/xl-ai/src/api/formats/html-blocks/tools/validate.ts @@ -0,0 +1,15 @@ +import { InvalidOrOk } from "../../../streamTool/streamTool.js"; + +export function validateBlockFunction(block: any): InvalidOrOk { + if (typeof block !== "string") { + return { + result: "invalid", + reason: "block must be a string", + }; + } + + return { + result: "ok", + value: block, + }; +} diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/deletes a paragraph_1_15caeff910151fb1c722b42812077431.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/deletes a paragraph_1_15caeff910151fb1c722b42812077431.json new file mode 100644 index 0000000000..c882432c8e --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/deletes a paragraph_1_15caeff910151fb1c722b42812077431.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-36257722-8634-44e5-8a3d-e85807f4d860\",\"object\":\"chat.completion\",\"created\":1743024476,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_pbqm\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"delete\\\", \\\"id\\\": \\\"0$\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.102630006,\"prompt_tokens\":1104,\"prompt_time\":0.132735961,\"completion_tokens\":20,\"completion_time\":0.072727273,\"total_tokens\":1124,\"total_time\":0.205463234},\"system_fingerprint\":\"fp_90c1d253ff\",\"x_groq\":{\"id\":\"req_01jqa5nmj1ew39nsd3r0xhm2hd\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/deletes a paragraph_1_db652a2755ce32ec61b079674b3ec78e.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/deletes a paragraph_1_db652a2755ce32ec61b079674b3ec78e.json new file mode 100644 index 0000000000..936571a736 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/deletes a paragraph_1_db652a2755ce32ec61b079674b3ec78e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-ed44ce15-1309-4bf6-977e-62173dfc0f23\",\"object\":\"chat.completion\",\"created\":1742832008,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_ekgr\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"delete\\\", \\\"id\\\": \\\"0$\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10151289800000002,\"prompt_tokens\":1218,\"prompt_time\":0.085623441,\"completion_tokens\":20,\"completion_time\":0.072727273,\"total_tokens\":1238,\"total_time\":0.158350714},\"system_fingerprint\":\"fp_41c250edc7\",\"x_groq\":{\"id\":\"req_01jq4e3zesfzyb3n2tp1j8qpx1\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/deletes a paragraph_1_5521f99323a96b726ef76a66d542ffa7.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/deletes a paragraph_1_5521f99323a96b726ef76a66d542ffa7.json new file mode 100644 index 0000000000..78c62a6f5b --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/deletes a paragraph_1_5521f99323a96b726ef76a66d542ffa7.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-d8c52fca-2b09-4491-ad1d-b3cf5c0f3b3a\",\"object\":\"chat.completion.chunk\",\"created\":1743024460,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5n4s0evvv5fves50hyhta\"}}\n\ndata: {\"id\":\"chatcmpl-d8c52fca-2b09-4491-ad1d-b3cf5c0f3b3a\",\"object\":\"chat.completion.chunk\",\"created\":1743024460,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_qbj3\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"delete\\\", \\\"id\\\": \\\"0$\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-d8c52fca-2b09-4491-ad1d-b3cf5c0f3b3a\",\"object\":\"chat.completion.chunk\",\"created\":1743024460,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5n4s0evvv5fves50hyhta\",\"usage\":{\"queue_time\":0.101237986,\"prompt_tokens\":1104,\"prompt_time\":0.089546146,\"completion_tokens\":20,\"completion_time\":0.072727273,\"total_tokens\":1124,\"total_time\":0.162273419}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/deletes a paragraph_1_7d07404e0ad1824e8095e5259299b43d.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/deletes a paragraph_1_7d07404e0ad1824e8095e5259299b43d.json new file mode 100644 index 0000000000..5ec7f87c85 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/deletes a paragraph_1_7d07404e0ad1824e8095e5259299b43d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-3a1fb412-05c1-4215-8eba-cbe66f501bf8\",\"object\":\"chat.completion.chunk\",\"created\":1742832035,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4e4sf7f4t9ep510zcz65dz\"}}\n\ndata: {\"id\":\"chatcmpl-3a1fb412-05c1-4215-8eba-cbe66f501bf8\",\"object\":\"chat.completion.chunk\",\"created\":1742832035,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_haa8\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"delete\\\", \\\"id\\\": \\\"0$\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-3a1fb412-05c1-4215-8eba-cbe66f501bf8\",\"object\":\"chat.completion.chunk\",\"created\":1742832035,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4e4sf7f4t9ep510zcz65dz\",\"usage\":{\"queue_time\":0.101483895,\"prompt_tokens\":1218,\"prompt_time\":0.08678155,\"completion_tokens\":20,\"completion_time\":0.072727273,\"total_tokens\":1238,\"total_time\":0.159508823}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_579ab2da04ddb0abbd88f05b3407eea2.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_579ab2da04ddb0abbd88f05b3407eea2.json new file mode 100644 index 0000000000..5132537dd5 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_579ab2da04ddb0abbd88f05b3407eea2.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEeB2Y4plhwfQdx0VC4UdqH8St3bo\",\n \"object\": \"chat.completion\",\n \"created\": 1742830732,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_boe1ycUPrNv7Mlh7KeCX62yp\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"delete\\\",\\\"id\\\":\\\"0$\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1094,\n \"completion_tokens\": 15,\n \"total_tokens\": 1109,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 1024,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_eb9dce56a8\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_b40d50f6086068c30932b8a465c8e863.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_b40d50f6086068c30932b8a465c8e863.json new file mode 100644 index 0000000000..61411015f8 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_b40d50f6086068c30932b8a465c8e863.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSZQid0MHkTAmfex7HSv9JJRPUpp\",\n \"object\": \"chat.completion\",\n \"created\": 1743024444,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_XNRxX8j7lTnCJbfVUst3S9UT\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"delete\\\",\\\"id\\\":\\\"0$\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 686,\n \"completion_tokens\": 15,\n \"total_tokens\": 701,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_4ecdfc8cdc\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/deletes a paragraph_1_0815611d70c5ce5c388380d5b34cd66a.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/deletes a paragraph_1_0815611d70c5ce5c388380d5b34cd66a.json new file mode 100644 index 0000000000..b28d7a431f --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/deletes a paragraph_1_0815611d70c5ce5c388380d5b34cd66a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_CqoPrEQubA5Tt3wNU3bgcqoR\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"delete\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7cLRupZCT7hKEGs9Xmr0y6oHZx\",\"object\":\"chat.completion.chunk\",\"created\":1742830520,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/deletes a paragraph_1_b005532990a102bfaeac5190ff16d5b1.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/deletes a paragraph_1_b005532990a102bfaeac5190ff16d5b1.json new file mode 100644 index 0000000000..3c0a9bb63b --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/deletes a paragraph_1_b005532990a102bfaeac5190ff16d5b1.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_kiJben735PkHAKobws32F7W7\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"delete\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYnIpml5F5cyeKsCFktSEpLuiwE\",\"object\":\"chat.completion.chunk\",\"created\":1743024405,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at end_1_14b25f32971fc0e7245871c208b4b455.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at end_1_14b25f32971fc0e7245871c208b4b455.json new file mode 100644 index 0000000000..d2b2fc664c --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at end_1_14b25f32971fc0e7245871c208b4b455.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-76ad66b1-9d84-4391-91ba-9d4800a81f33\",\"object\":\"chat.completion\",\"created\":1742832009,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_5z37\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"after\\\",\\\"blocks\\\":[{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Test\\\",\\\"styles\\\":{}}]}]}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.101295228,\"prompt_tokens\":1182,\"prompt_time\":0.084592723,\"completion_tokens\":47,\"completion_time\":0.170909091,\"total_tokens\":1229,\"total_time\":0.255501814},\"system_fingerprint\":\"fp_41c250edc7\",\"x_groq\":{\"id\":\"req_01jq4e40bdekebaafng39ee3jv\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at end_1_baa60b58ba41f5e48edef46d09dde3c8.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at end_1_baa60b58ba41f5e48edef46d09dde3c8.json new file mode 100644 index 0000000000..a1402f1857 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at end_1_baa60b58ba41f5e48edef46d09dde3c8.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-b64579fd-0152-4e39-90e3-ee18d174a2b3\",\"object\":\"chat.completion\",\"created\":1743024477,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_0zed\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"after\\\",\\\"blocks\\\":[{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Test\\\",\\\"styles\\\":{}}]}]}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.125724382,\"prompt_tokens\":1068,\"prompt_time\":0.07757528,\"completion_tokens\":47,\"completion_time\":0.170909091,\"total_tokens\":1115,\"total_time\":0.248484371},\"system_fingerprint\":\"fp_c4760ee73b\",\"x_groq\":{\"id\":\"req_01jqa5nnc1ew4tj96n6tty92zt\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_4505017cae43a76af417424ce6f2722a.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_4505017cae43a76af417424ce6f2722a.json new file mode 100644 index 0000000000..9e44db637d --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_4505017cae43a76af417424ce6f2722a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-c3a4062f-9d20-42c2-94c7-549fcf053ba3\",\"object\":\"chat.completion\",\"created\":1742832009,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_xkr1\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"before\\\",\\\"blocks\\\":[{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Test\\\",\\\"styles\\\":{}}]}]}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10166492100000002,\"prompt_tokens\":1181,\"prompt_time\":0.083764548,\"completion_tokens\":47,\"completion_time\":0.170909091,\"total_tokens\":1228,\"total_time\":0.254673639},\"system_fingerprint\":\"fp_8dd9fca28c\",\"x_groq\":{\"id\":\"req_01jq4e3zvcekdryamest1ce2xk\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_a9b4c4e9843248dbb57844e4c76d1a7f.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_a9b4c4e9843248dbb57844e4c76d1a7f.json new file mode 100644 index 0000000000..138c533ab2 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_a9b4c4e9843248dbb57844e4c76d1a7f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-1c24d26a-1eb9-4385-845d-15566e47d4a0\",\"object\":\"chat.completion\",\"created\":1743024477,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_hynb\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"add\\\", \\\"position\\\": \\\"before\\\", \\\"referenceId\\\": \\\"0$\\\", \\\"blocks\\\": [{\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Test\\\", \\\"styles\\\": {}}]}]}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10274638400000001,\"prompt_tokens\":1067,\"prompt_time\":0.076283112,\"completion_tokens\":62,\"completion_time\":0.225454545,\"total_tokens\":1129,\"total_time\":0.301737657},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jqa5nmxffsxvj7rta4fpqyba\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at end_1_9efc5693f070eb21ffe2b2ccef581f86.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at end_1_9efc5693f070eb21ffe2b2ccef581f86.json new file mode 100644 index 0000000000..7351f2fe73 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at end_1_9efc5693f070eb21ffe2b2ccef581f86.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-0e8af25c-e6a9-4b35-8da8-747d17550807\",\"object\":\"chat.completion.chunk\",\"created\":1742832036,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4e4t8bemgtsnb270bpsd07\"}}\n\ndata: {\"id\":\"chatcmpl-0e8af25c-e6a9-4b35-8da8-747d17550807\",\"object\":\"chat.completion.chunk\",\"created\":1742832036,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_c5pn\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"after\\\",\\\"blocks\\\":[{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Test\\\",\\\"styles\\\":{}}]}]}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-0e8af25c-e6a9-4b35-8da8-747d17550807\",\"object\":\"chat.completion.chunk\",\"created\":1742832036,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4e4t8bemgtsnb270bpsd07\",\"usage\":{\"queue_time\":0.101439813,\"prompt_tokens\":1182,\"prompt_time\":0.083691804,\"completion_tokens\":47,\"completion_time\":0.170909091,\"total_tokens\":1229,\"total_time\":0.254600895}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at end_1_db854e63cab462d3b1f38aa12066b1a3.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at end_1_db854e63cab462d3b1f38aa12066b1a3.json new file mode 100644 index 0000000000..e0420a9245 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at end_1_db854e63cab462d3b1f38aa12066b1a3.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-8c7c4939-8c8b-47d7-8142-3319cdd23b00\",\"object\":\"chat.completion.chunk\",\"created\":1743024461,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5n5kxevway1thf66nsr4b\"}}\n\ndata: {\"id\":\"chatcmpl-8c7c4939-8c8b-47d7-8142-3319cdd23b00\",\"object\":\"chat.completion.chunk\",\"created\":1743024461,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_2a3z\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"after\\\",\\\"blocks\\\":[{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Test\\\",\\\"styles\\\":{}}]}]}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-8c7c4939-8c8b-47d7-8142-3319cdd23b00\",\"object\":\"chat.completion.chunk\",\"created\":1743024461,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5n5kxevway1thf66nsr4b\",\"usage\":{\"queue_time\":0.125882563,\"prompt_tokens\":1068,\"prompt_time\":0.079965907,\"completion_tokens\":47,\"completion_time\":0.170909091,\"total_tokens\":1115,\"total_time\":0.250874998}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at start_1_e3f5b55e19bf952729db718a117b45d0.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at start_1_e3f5b55e19bf952729db718a117b45d0.json new file mode 100644 index 0000000000..42d9e38ddc --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at start_1_e3f5b55e19bf952729db718a117b45d0.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-aae48d9d-b4d5-462a-a548-c1467c539b1e\",\"object\":\"chat.completion.chunk\",\"created\":1743024461,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_c4760ee73b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5n54qevvtzm9krh6cyjx9\"}}\n\ndata: {\"id\":\"chatcmpl-aae48d9d-b4d5-462a-a548-c1467c539b1e\",\"object\":\"chat.completion.chunk\",\"created\":1743024461,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_c4760ee73b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_0n8w\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"add\\\", \\\"referenceId\\\": \\\"0$\\\", \\\"position\\\": \\\"before\\\", \\\"blocks\\\": [{\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Test\\\", \\\"styles\\\": {}}]}]}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-aae48d9d-b4d5-462a-a548-c1467c539b1e\",\"object\":\"chat.completion.chunk\",\"created\":1743024461,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_c4760ee73b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5n54qevvtzm9krh6cyjx9\",\"usage\":{\"queue_time\":0.101510444,\"prompt_tokens\":1067,\"prompt_time\":0.082024247,\"completion_tokens\":62,\"completion_time\":0.225454545,\"total_tokens\":1129,\"total_time\":0.307478792}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at start_1_f258d2ad2e275e7e86aa60f3dc7f369e.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at start_1_f258d2ad2e275e7e86aa60f3dc7f369e.json new file mode 100644 index 0000000000..855e1362bd --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at start_1_f258d2ad2e275e7e86aa60f3dc7f369e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-a88e3dbc-1488-4274-8a0e-34dc529f70c3\",\"object\":\"chat.completion.chunk\",\"created\":1742832035,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4e4svyemgbybe5t6mqpxph\"}}\n\ndata: {\"id\":\"chatcmpl-a88e3dbc-1488-4274-8a0e-34dc529f70c3\",\"object\":\"chat.completion.chunk\",\"created\":1742832036,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_9d40\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"before\\\",\\\"blocks\\\":[{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Test\\\",\\\"styles\\\":{}}]}]}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-a88e3dbc-1488-4274-8a0e-34dc529f70c3\",\"object\":\"chat.completion.chunk\",\"created\":1742832036,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4e4svyemgbybe5t6mqpxph\",\"usage\":{\"queue_time\":0.101791062,\"prompt_tokens\":1181,\"prompt_time\":0.083740574,\"completion_tokens\":47,\"completion_time\":0.170909091,\"total_tokens\":1228,\"total_time\":0.254649665}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_1049d21a96daf11d8db0a8ae9543f777.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_1049d21a96daf11d8db0a8ae9543f777.json new file mode 100644 index 0000000000..99931fffd5 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_1049d21a96daf11d8db0a8ae9543f777.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEeB471j6z7GDuwSpjaIhu75ENQze\",\n \"object\": \"chat.completion\",\n \"created\": 1742830734,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_jHJKNYUyez1M2rSkatOacMoO\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"after\\\",\\\"blocks\\\":[{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Test\\\"}]}]}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1056,\n \"completion_tokens\": 40,\n \"total_tokens\": 1096,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_32ec155eb7c6a6a6b10d3fa826eeed68.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_32ec155eb7c6a6a6b10d3fa826eeed68.json new file mode 100644 index 0000000000..837f0da1b4 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_32ec155eb7c6a6a6b10d3fa826eeed68.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSZRUSXbBIyb9aEZ2mByzeB5ktFM\",\n \"object\": \"chat.completion\",\n \"created\": 1743024445,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_Cd3FZJQwldMAjfkWsHytZqPp\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"after\\\",\\\"blocks\\\":[{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Test\\\",\\\"styles\\\":{}}]}]}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 648,\n \"completion_tokens\": 44,\n \"total_tokens\": 692,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_64a94c336f47517ffd5c09353da89cfd.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_64a94c336f47517ffd5c09353da89cfd.json new file mode 100644 index 0000000000..2be44ca332 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_64a94c336f47517ffd5c09353da89cfd.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEeB25aDd77C5NGxpffpbyaFrhLdJ\",\n \"object\": \"chat.completion\",\n \"created\": 1742830732,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_eQyls0lb7aB8u1i7uTIv3wMB\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"before\\\",\\\"blocks\\\":[{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Test\\\",\\\"styles\\\":{}}]}]}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1055,\n \"completion_tokens\": 44,\n \"total_tokens\": 1099,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_83df987f64\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_dc8e18467e53fdad02468dcce090d317.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_dc8e18467e53fdad02468dcce090d317.json new file mode 100644 index 0000000000..7c28fd9e65 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_dc8e18467e53fdad02468dcce090d317.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSZQm5rjU2byxjytQetrOXqqd4fa\",\n \"object\": \"chat.completion\",\n \"created\": 1743024444,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_5ShZfNBJ8Ko2OYWMCTocjCNk\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"before\\\",\\\"blocks\\\":[{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Test\\\",\\\"styles\\\":{}}]}]}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 647,\n \"completion_tokens\": 44,\n \"total_tokens\": 691,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_4ecdfc8cdc\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at end_1_3d673e3a6c3cf50a1c33bbe0216dac1e.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at end_1_3d673e3a6c3cf50a1c33bbe0216dac1e.json new file mode 100644 index 0000000000..1e0a55a556 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at end_1_3d673e3a6c3cf50a1c33bbe0216dac1e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_j5hJKiZLbMOnRt9e2GQnWqrM\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"add\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"reference\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"position\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"after\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"blocks\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Test\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYpjkls6zQvxsJxR4Hw5BihNL30\",\"object\":\"chat.completion.chunk\",\"created\":1743024407,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at end_1_e124148be72427f0a64247ff47b7f0e4.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at end_1_e124148be72427f0a64247ff47b7f0e4.json new file mode 100644 index 0000000000..52ddde8e7a --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at end_1_e124148be72427f0a64247ff47b7f0e4.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_TCz3qITiUi5ZwN0JYjcCTDcm\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"add\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"reference\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"position\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"after\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"blocks\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Test\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7f6iTBGtv4svEPeIUcZhkLrVHT\",\"object\":\"chat.completion.chunk\",\"created\":1742830523,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at start_1_2c15799f7bbfa91a53c86a6662224f87.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at start_1_2c15799f7bbfa91a53c86a6662224f87.json new file mode 100644 index 0000000000..2bd38ca618 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at start_1_2c15799f7bbfa91a53c86a6662224f87.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_fmiDhNCNtUCyNlQ5WnWDdZz6\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"add\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"reference\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"position\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"before\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"blocks\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Test\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYowReT0jXKPiHiroysFFJtVCdZ\",\"object\":\"chat.completion.chunk\",\"created\":1743024406,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at start_1_d4ecf679fb2579c6181fe21568334106.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at start_1_d4ecf679fb2579c6181fe21568334106.json new file mode 100644 index 0000000000..93f5c16925 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at start_1_d4ecf679fb2579c6181fe21568334106.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_GSGB32pb43GiA0zAb5sSnkRV\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"add\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"reference\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"position\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"before\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"blocks\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Test\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe7dxfCMuT8wyutvsVjvnbBzTMho\",\"object\":\"chat.completion.chunk\",\"created\":1742830521,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link and change text within mark_1_4419802c6ce0c24eda050d1cfd7cebba.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link and change text within mark_1_4419802c6ce0c24eda050d1cfd7cebba.json new file mode 100644 index 0000000000..2fff8729e2 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link and change text within mark_1_4419802c6ce0c24eda050d1cfd7cebba.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-bdd54b0b-f715-47f0-aa73-62b355ad09cf\",\"object\":\"chat.completion\",\"created\":1743024476,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_abyj\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hi, world! Bold the text. Link.\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10022997100000001,\"prompt_tokens\":1309,\"prompt_time\":0.093051871,\"completion_tokens\":64,\"completion_time\":0.232727273,\"total_tokens\":1373,\"total_time\":0.325779144},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jqa5nm30fsxt8btfh2h34y4w\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link and change text within mark_1_54bcb3abe8aaf20521dec8dd7758c059.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link and change text within mark_1_54bcb3abe8aaf20521dec8dd7758c059.json new file mode 100644 index 0000000000..de45ac62dc --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link and change text within mark_1_54bcb3abe8aaf20521dec8dd7758c059.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-e80a39b4-44d2-4ba5-b42f-22ba8942799d\",\"object\":\"chat.completion\",\"created\":1742837658,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_k5hf\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hi, world! Bold the text. Link.\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.985392389,\"prompt_tokens\":1423,\"prompt_time\":0.221165944,\"completion_tokens\":64,\"completion_time\":0.310663307,\"total_tokens\":1487,\"total_time\":0.531829251},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jq4kgbspe8av96s94yw7349w\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link_1_4d937a23f6a467e4b207344fc478751f.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link_1_4d937a23f6a467e4b207344fc478751f.json new file mode 100644 index 0000000000..21e1655c49 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link_1_4d937a23f6a467e4b207344fc478751f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-20a93376-463a-406f-a6b1-5497e329c4d5\",\"object\":\"chat.completion\",\"created\":1743024475,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_t859\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, world! Bold text. Link.\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10034030299999999,\"prompt_tokens\":1303,\"prompt_time\":0.098241097,\"completion_tokens\":62,\"completion_time\":0.225454545,\"total_tokens\":1365,\"total_time\":0.323695642},\"system_fingerprint\":\"fp_c4760ee73b\",\"x_groq\":{\"id\":\"req_01jqa5nkm8fsx8vktfgyjt84qw\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link_1_6d4e3319da1c4873d76b02926091ed6e.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link_1_6d4e3319da1c4873d76b02926091ed6e.json new file mode 100644 index 0000000000..99b32cd054 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link_1_6d4e3319da1c4873d76b02926091ed6e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-0c6d7f35-39da-4c75-ae53-26985fad46dd\",\"object\":\"chat.completion\",\"created\":1742837608,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_vnnv\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, world! Bold text. Link.\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.130478881,\"prompt_tokens\":1417,\"prompt_time\":0.314713952,\"completion_tokens\":63,\"completion_time\":0.268407907,\"total_tokens\":1480,\"total_time\":0.583121859},\"system_fingerprint\":\"fp_b1483399f5\",\"x_groq\":{\"id\":\"req_01jq4kew77e6ybsnrb5y5qc28m\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/plain source block, add mention_1_1267d15ccb29e4c04fb7abe1d44a6074.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/plain source block, add mention_1_1267d15ccb29e4c04fb7abe1d44a6074.json new file mode 100644 index 0000000000..dc5bd34401 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/plain source block, add mention_1_1267d15ccb29e4c04fb7abe1d44a6074.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-af1d3556-9f71-423f-a0cb-e62dab6c62e6\",\"object\":\"chat.completion\",\"created\":1743024474,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_1ee6\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"mention\\\", \\\"props\\\": {\\\"user\\\": \\\"Jane Doe\\\"}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"!\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.11816457699999999,\"prompt_tokens\":1301,\"prompt_time\":0.163752409,\"completion_tokens\":89,\"completion_time\":0.323636364,\"total_tokens\":1390,\"total_time\":0.487388773},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jqa5nj4yew39nc36m1zpcfa4\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/plain source block, add mention_1_952a11dca3a24f332845bb109523d473.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/plain source block, add mention_1_952a11dca3a24f332845bb109523d473.json new file mode 100644 index 0000000000..9ccd40eb24 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/plain source block, add mention_1_952a11dca3a24f332845bb109523d473.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-7a4afb15-1c20-415a-aa3c-8a0a345336b0\",\"object\":\"chat.completion\",\"created\":1742837607,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_2ttg\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"mention\\\", \\\"props\\\": {\\\"user\\\": \\\"Jane Doe\\\"}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"!\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.13005826799999998,\"prompt_tokens\":1415,\"prompt_time\":0.107772511,\"completion_tokens\":89,\"completion_time\":0.323636364,\"total_tokens\":1504,\"total_time\":0.431408875},\"system_fingerprint\":\"fp_b1483399f5\",\"x_groq\":{\"id\":\"req_01jq4kettre708f5sne57z49e4\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/standard update_1_dc577ea4d6c271fdfcb228188cd26d20.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/standard update_1_dc577ea4d6c271fdfcb228188cd26d20.json new file mode 100644 index 0000000000..f69485ef53 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/standard update_1_dc577ea4d6c271fdfcb228188cd26d20.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-d185585b-3b40-4bef-b85f-b5ba35f59b23\",\"object\":\"chat.completion\",\"created\":1743024469,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_gkys\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, updated content\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10156177699999999,\"prompt_tokens\":1300,\"prompt_time\":0.097561327,\"completion_tokens\":58,\"completion_time\":0.210909091,\"total_tokens\":1358,\"total_time\":0.308470418},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jqa5nd3efgfre9vv53gr4r5a\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/standard update_1_ea66181d1b01551dad90bdfdcf443655.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/standard update_1_ea66181d1b01551dad90bdfdcf443655.json new file mode 100644 index 0000000000..17311e2b6b --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/standard update_1_ea66181d1b01551dad90bdfdcf443655.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-0db57b6a-3e33-4b64-8ba2-d87a25dfabd4\",\"object\":\"chat.completion\",\"created\":1742837530,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_sz6e\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, updated content\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":1.3156870489999999,\"prompt_tokens\":1414,\"prompt_time\":0.156797845,\"completion_tokens\":58,\"completion_time\":0.210909091,\"total_tokens\":1472,\"total_time\":0.367706936},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jq4kce89e5hsx7g65wfd30gh\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mark_1_388d4b196405471a51a88950a44b04fc.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mark_1_388d4b196405471a51a88950a44b04fc.json new file mode 100644 index 0000000000..bebe531bf1 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mark_1_388d4b196405471a51a88950a44b04fc.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-2adbb216-7b39-4c7a-acde-4a8a4ae0daee\",\"object\":\"chat.completion\",\"created\":1743024472,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_65t9\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"mention\\\", \\\"props\\\": {\\\"user\\\": \\\"John Doe\\\"}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"! How \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"are you doing?\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.103444448,\"prompt_tokens\":1294,\"prompt_time\":0.175122303,\"completion_tokens\":110,\"completion_time\":0.4,\"total_tokens\":1404,\"total_time\":0.575122303},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jqa5ng4zew0rfrzfx5k3rgb5\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mark_1_415bf4b3cc6a1dd0ff6c83b8534b6ed7.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mark_1_415bf4b3cc6a1dd0ff6c83b8534b6ed7.json new file mode 100644 index 0000000000..ecdc026800 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mark_1_415bf4b3cc6a1dd0ff6c83b8534b6ed7.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-8be7436a-d2af-4c14-a980-c2e4a6a8527a\",\"object\":\"chat.completion\",\"created\":1742837515,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_bn0z\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"mention\\\", \\\"props\\\": {\\\"user\\\": \\\"John Doe\\\"}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"! How \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"are you doing?\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.45670444400000004,\"prompt_tokens\":1408,\"prompt_time\":0.146246991,\"completion_tokens\":110,\"completion_time\":0.4,\"total_tokens\":1518,\"total_time\":0.546246991},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jq4kc0tte57smjnwh1y0tdky\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mention_1_9416f389f1459ce111f827b5b4475372.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mention_1_9416f389f1459ce111f827b5b4475372.json new file mode 100644 index 0000000000..8a8fea9c11 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mention_1_9416f389f1459ce111f827b5b4475372.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-cf92fc39-4236-439a-8190-0541d3e793c1\",\"object\":\"chat.completion\",\"created\":1743024473,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_5n4w\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello! \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"How are you doing?\\\", \\\"styles\\\": {\\\"bold\\\": true}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10730655,\"prompt_tokens\":1305,\"prompt_time\":0.270945548,\"completion_tokens\":80,\"completion_time\":0.290909091,\"total_tokens\":1385,\"total_time\":0.561854639},\"system_fingerprint\":\"fp_90c1d253ff\",\"x_groq\":{\"id\":\"req_01jqa5ngvqew18repkzyv4t0g6\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mention_1_ea8ee34c92144e3cd2ed4e33b38f0882.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mention_1_ea8ee34c92144e3cd2ed4e33b38f0882.json new file mode 100644 index 0000000000..7ceeeab487 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mention_1_ea8ee34c92144e3cd2ed4e33b38f0882.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-a57d0106-995a-45c2-b4e7-90fec971432a\",\"object\":\"chat.completion\",\"created\":1742837512,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_sc6k\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello! \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"How \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"are you doing?\\\", \\\"styles\\\": {\\\"bold\\\": true}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.5499290109999999,\"prompt_tokens\":1419,\"prompt_time\":0.278688262,\"completion_tokens\":96,\"completion_time\":0.349090909,\"total_tokens\":1515,\"total_time\":0.627779171},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jq4kbxcsfp9b4danmaqrpx01\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, update mention prop_1_0aad542a691ec1380d99b9c4cdd3bf5a.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, update mention prop_1_0aad542a691ec1380d99b9c4cdd3bf5a.json new file mode 100644 index 0000000000..b3b100410b --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, update mention prop_1_0aad542a691ec1380d99b9c4cdd3bf5a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-17819d9a-1759-4d18-97d9-4829b683ef2d\",\"object\":\"chat.completion\",\"created\":1743024475,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_cqag\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {\\\"textColor\\\": \\\"default\\\", \\\"backgroundColor\\\": \\\"default\\\", \\\"textAlignment\\\": \\\"left\\\"}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"mention\\\", \\\"props\\\": {\\\"user\\\": \\\"Jane Doe\\\"}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"! How \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"are you doing?\\\", \\\"styles\\\": {\\\"bold\\\": true}}], \\\"children\\\": []}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.11849548000000001,\"prompt_tokens\":1292,\"prompt_time\":0.09287677,\"completion_tokens\":136,\"completion_time\":0.494545455,\"total_tokens\":1428,\"total_time\":0.587422225},\"system_fingerprint\":\"fp_c4760ee73b\",\"x_groq\":{\"id\":\"req_01jqa5njseew39g6e2g5ybvyn7\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, update mention prop_1_209d5b895f2efa8282f9c379c1cb5353.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, update mention prop_1_209d5b895f2efa8282f9c379c1cb5353.json new file mode 100644 index 0000000000..98f2a63e41 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, update mention prop_1_209d5b895f2efa8282f9c379c1cb5353.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-30d71c33-ebd7-4a13-a0ca-a79f1c42deed\",\"object\":\"chat.completion\",\"created\":1742837607,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_dv98\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {\\\"textColor\\\": \\\"default\\\", \\\"backgroundColor\\\": \\\"default\\\", \\\"textAlignment\\\": \\\"left\\\"}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"mention\\\", \\\"props\\\": {\\\"user\\\": \\\"Jane Doe\\\"}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"! How \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"are you doing?\\\", \\\"styles\\\": {\\\"bold\\\": true}}], \\\"children\\\": []}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.130969526,\"prompt_tokens\":1406,\"prompt_time\":0.15327202,\"completion_tokens\":136,\"completion_time\":0.494545455,\"total_tokens\":1542,\"total_time\":0.647817475},\"system_fingerprint\":\"fp_b1483399f5\",\"x_groq\":{\"id\":\"req_01jq4kevdke719183j38sjyz92\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block_1_9d78ba375d172e2621b6c228bed8beb7.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block_1_9d78ba375d172e2621b6c228bed8beb7.json new file mode 100644 index 0000000000..ee99afc322 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block_1_9d78ba375d172e2621b6c228bed8beb7.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-b1d5cf05-f474-42c6-b15b-f30d8c077002\",\"object\":\"chat.completion\",\"created\":1742837509,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_f0gb\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, updated content\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.278223719,\"prompt_tokens\":1414,\"prompt_time\":0.318313215,\"completion_tokens\":58,\"completion_time\":0.210909091,\"total_tokens\":1472,\"total_time\":0.529222306},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jq4kbtvee539wv26y9p9mspz\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block_1_b54d47bc607124bb9c32ec2d9862d649.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block_1_b54d47bc607124bb9c32ec2d9862d649.json new file mode 100644 index 0000000000..7cd2e87302 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block_1_b54d47bc607124bb9c32ec2d9862d649.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-69f66448-49d8-4c24-9539-851183422e0b\",\"object\":\"chat.completion\",\"created\":1743024471,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_qs88\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, updated content\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.106086871,\"prompt_tokens\":1300,\"prompt_time\":0.097892814,\"completion_tokens\":58,\"completion_time\":0.210909091,\"total_tokens\":1358,\"total_time\":0.308801905},\"system_fingerprint\":\"fp_90c1d253ff\",\"x_groq\":{\"id\":\"req_01jqa5nfpyew0814c1tmje2xt8\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in target block, add mark_1_442345e7235a691813e0704ef1bc19e3.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in target block, add mark_1_442345e7235a691813e0704ef1bc19e3.json new file mode 100644 index 0000000000..bec8f77e1c --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in target block, add mark_1_442345e7235a691813e0704ef1bc19e3.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-554dc27b-0b23-4c8f-a63e-543d1cc55fae\",\"object\":\"chat.completion\",\"created\":1743024473,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_xzya\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"world!\\\", \\\"styles\\\": {\\\"bold\\\": true}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10887605200000001,\"prompt_tokens\":1297,\"prompt_time\":0.09170162,\"completion_tokens\":77,\"completion_time\":0.28,\"total_tokens\":1374,\"total_time\":0.37170162},\"system_fingerprint\":\"fp_8dd9fca28c\",\"x_groq\":{\"id\":\"req_01jqa5nhm1ew1tn0w05w9pmsrs\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in target block, add mark_1_d1e1fd46dfa505623e634488b2c6c8f6.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in target block, add mark_1_d1e1fd46dfa505623e634488b2c6c8f6.json new file mode 100644 index 0000000000..d919c4799d --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in target block, add mark_1_d1e1fd46dfa505623e634488b2c6c8f6.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-f3c2cd9c-ea47-45e4-8213-f9ec14ac276b\",\"object\":\"chat.completion\",\"created\":1742837606,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_3qkh\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"world!\\\", \\\"styles\\\": {\\\"bold\\\": true}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.129578474,\"prompt_tokens\":1411,\"prompt_time\":0.285010775,\"completion_tokens\":77,\"completion_time\":0.28,\"total_tokens\":1488,\"total_time\":0.565010775},\"system_fingerprint\":\"fp_b1483399f5\",\"x_groq\":{\"id\":\"req_01jq4ket3be709t3dk76da035x\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop and content_1_5fdbfba1ffe41876405c9125ca212e51.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop and content_1_5fdbfba1ffe41876405c9125ca212e51.json new file mode 100644 index 0000000000..387dd45585 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop and content_1_5fdbfba1ffe41876405c9125ca212e51.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-43322a8d-e471-4eea-88a4-54ad3345126e\",\"object\":\"chat.completion\",\"created\":1742837494,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_t2sa\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {\\\"textColor\\\": \\\"default\\\", \\\"backgroundColor\\\": \\\"default\\\", \\\"textAlignment\\\": \\\"right\\\"}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"What's up, world!\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":21.213004919,\"prompt_tokens\":1418,\"prompt_time\":0.151411249,\"completion_tokens\":78,\"completion_time\":0.288165649,\"total_tokens\":1496,\"total_time\":0.439576898},\"system_fingerprint\":\"fp_3884478861\",\"x_groq\":{\"id\":\"req_01jq4kar9re43thskdnptx36tm\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop and content_1_6517c2cdfe24e8c689f2998a8ec4c953.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop and content_1_6517c2cdfe24e8c689f2998a8ec4c953.json new file mode 100644 index 0000000000..5058fd537b --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop and content_1_6517c2cdfe24e8c689f2998a8ec4c953.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-a75ec765-a9fd-4115-92e3-ee20fd3e952a\",\"object\":\"chat.completion\",\"created\":1743024471,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_drsg\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {\\\"textColor\\\": \\\"default\\\", \\\"backgroundColor\\\": \\\"default\\\", \\\"textAlignment\\\": \\\"right\\\"}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"What's up, world!\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.101576892,\"prompt_tokens\":1304,\"prompt_time\":0.098095401,\"completion_tokens\":79,\"completion_time\":0.287272727,\"total_tokens\":1383,\"total_time\":0.385368128},\"system_fingerprint\":\"fp_c4760ee73b\",\"x_groq\":{\"id\":\"req_01jqa5nf3xfggame189x5qgx3z\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop_1_6513686299d203265a39e7a1c6adedd3.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop_1_6513686299d203265a39e7a1c6adedd3.json new file mode 100644 index 0000000000..8ef2366d33 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop_1_6513686299d203265a39e7a1c6adedd3.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-782322c6-87c7-4b65-a2f2-6e5613b6cde1\",\"object\":\"chat.completion\",\"created\":1743024470,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_646h\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {\\\"textColor\\\": \\\"default\\\", \\\"backgroundColor\\\": \\\"default\\\", \\\"textAlignment\\\": \\\"right\\\"}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, world!\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.124597547,\"prompt_tokens\":1292,\"prompt_time\":0.092047503,\"completion_tokens\":76,\"completion_time\":0.276363636,\"total_tokens\":1368,\"total_time\":0.368411139},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jqa5ne4ffggb8d551jc186ca\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop_1_72f5f070b3af64229dd23ea5255aaa5e.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop_1_72f5f070b3af64229dd23ea5255aaa5e.json new file mode 100644 index 0000000000..6fac5d1616 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block prop_1_72f5f070b3af64229dd23ea5255aaa5e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-9555bf78-1566-4b00-a5f3-52c6b12b266a\",\"object\":\"chat.completion\",\"created\":1742837475,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_r0x6\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {\\\"textColor\\\": \\\"default\\\", \\\"backgroundColor\\\": \\\"default\\\", \\\"textAlignment\\\": \\\"right\\\"}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, world!\\\", \\\"styles\\\": {}}], \\\"children\\\": []}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":12.040464313000001,\"prompt_tokens\":1406,\"prompt_time\":0.172301453,\"completion_tokens\":80,\"completion_time\":0.290909091,\"total_tokens\":1486,\"total_time\":0.463210544},\"system_fingerprint\":\"fp_fcc3b74982\",\"x_groq\":{\"id\":\"req_01jq4kaegne47bkw3ayct92fnb\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type and content_1_5cf8dcb0ccdedb1169305ef8be723236.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type and content_1_5cf8dcb0ccdedb1169305ef8be723236.json new file mode 100644 index 0000000000..d98abb2d83 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type and content_1_5cf8dcb0ccdedb1169305ef8be723236.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-f09011ba-5c30-4519-9be6-ed76666ceb12\",\"object\":\"chat.completion\",\"created\":1742837505,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_bfd8\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"heading\\\", \\\"props\\\": {\\\"level\\\": 1}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"What's up, world!\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10520079599999999,\"prompt_tokens\":1418,\"prompt_time\":0.200077522,\"completion_tokens\":64,\"completion_time\":0.232727273,\"total_tokens\":1482,\"total_time\":0.432804795},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jq4kbpxye4zv2w3epjzg1vx9\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type and content_1_d3fd45d4b70ab455726d9df6f178bf53.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type and content_1_d3fd45d4b70ab455726d9df6f178bf53.json new file mode 100644 index 0000000000..ffbcdbf186 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type and content_1_d3fd45d4b70ab455726d9df6f178bf53.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-e80ff31c-c241-4d04-aa71-0a99a6544f0e\",\"object\":\"chat.completion\",\"created\":1743024470,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_3jkr\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"heading\\\", \\\"props\\\": {\\\"level\\\": 1}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"What's up, world!\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.09880248500000001,\"prompt_tokens\":1304,\"prompt_time\":0.103207711,\"completion_tokens\":64,\"completion_time\":0.232727273,\"total_tokens\":1368,\"total_time\":0.335934984},\"system_fingerprint\":\"fp_90c1d253ff\",\"x_groq\":{\"id\":\"req_01jqa5nen0ew099p6y7ch3qche\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type_1_129e945ffb5970507c4c43c668f9abd1.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type_1_129e945ffb5970507c4c43c668f9abd1.json new file mode 100644 index 0000000000..a44e529138 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type_1_129e945ffb5970507c4c43c668f9abd1.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-79afc731-acd9-4645-9461-9f5cd4585b83\",\"object\":\"chat.completion\",\"created\":1743024469,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_gtc2\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"heading\\\", \\\"props\\\": {\\\"level\\\": 1}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, world!\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.099796103,\"prompt_tokens\":1292,\"prompt_time\":0.090863787,\"completion_tokens\":62,\"completion_time\":0.225454545,\"total_tokens\":1354,\"total_time\":0.316318332},\"system_fingerprint\":\"fp_8dd9fca28c\",\"x_groq\":{\"id\":\"req_01jqa5ndkkfgfts2kbexhd900q\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type_1_3acb2baf2d8f6002aa2b463881bb8e06.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type_1_3acb2baf2d8f6002aa2b463881bb8e06.json new file mode 100644 index 0000000000..0bdd05248f --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type_1_3acb2baf2d8f6002aa2b463881bb8e06.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-837de232-4932-4509-824b-e9ffccf5e7ec\",\"object\":\"chat.completion\",\"created\":1742837517,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_y92m\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"heading\\\", \\\"props\\\": {\\\"level\\\": 1}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, world!\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.5047950460000001,\"prompt_tokens\":1406,\"prompt_time\":0.735308745,\"completion_tokens\":62,\"completion_time\":0.225454545,\"total_tokens\":1468,\"total_time\":0.96076329},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jq4kc34vfpavgdf4edy42r6r\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_84f6f880d870a4fe874bc99ac665a237.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_84f6f880d870a4fe874bc99ac665a237.json new file mode 100644 index 0000000000..8f10bd4fca --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_84f6f880d870a4fe874bc99ac665a237.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-d657a0c4-d156-400e-8235-8ac6d2a5f719\",\"object\":\"chat.completion.chunk\",\"created\":1742837606,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4kesg3e6xvmmh308fsydja\"}}\n\ndata: {\"id\":\"chatcmpl-d657a0c4-d156-400e-8235-8ac6d2a5f719\",\"object\":\"chat.completion.chunk\",\"created\":1742837606,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_xjdr\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hi, world! Bold the text. Link.\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-d657a0c4-d156-400e-8235-8ac6d2a5f719\",\"object\":\"chat.completion.chunk\",\"created\":1742837606,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4kesg3e6xvmmh308fsydja\",\"usage\":{\"queue_time\":0.13127353400000003,\"prompt_tokens\":1423,\"prompt_time\":0.118569094,\"completion_tokens\":64,\"completion_time\":0.232727273,\"total_tokens\":1487,\"total_time\":0.351296367}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_87529c45f32b15b6b615fe736614b464.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_87529c45f32b15b6b615fe736614b464.json new file mode 100644 index 0000000000..431b0c56cd --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_87529c45f32b15b6b615fe736614b464.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-c650c7e1-e4b6-422e-b8c8-924b80a20727\",\"object\":\"chat.completion.chunk\",\"created\":1743024460,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5n4afevvvr4s2wf1022mw\"}}\n\ndata: {\"id\":\"chatcmpl-c650c7e1-e4b6-422e-b8c8-924b80a20727\",\"object\":\"chat.completion.chunk\",\"created\":1743024460,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_csng\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hi, world! Bold the text. Link.\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-c650c7e1-e4b6-422e-b8c8-924b80a20727\",\"object\":\"chat.completion.chunk\",\"created\":1743024460,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5n4afevvvr4s2wf1022mw\",\"usage\":{\"queue_time\":0.10037805799999999,\"prompt_tokens\":1309,\"prompt_time\":0.09822048,\"completion_tokens\":64,\"completion_time\":0.232727273,\"total_tokens\":1373,\"total_time\":0.330947753}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link_1_63e18d35c3246a288f671a9e4cc8264a.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link_1_63e18d35c3246a288f671a9e4cc8264a.json new file mode 100644 index 0000000000..e038bb4d5e --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link_1_63e18d35c3246a288f671a9e4cc8264a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-b849f1e0-eb24-4a43-b606-5df2eedcd4a4\",\"object\":\"chat.completion.chunk\",\"created\":1743024459,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_c4760ee73b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5n3tdevv8ez55y2bs1pqc\"}}\n\ndata: {\"id\":\"chatcmpl-b849f1e0-eb24-4a43-b606-5df2eedcd4a4\",\"object\":\"chat.completion.chunk\",\"created\":1743024460,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_c4760ee73b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_mcsn\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, world! Bold text. Link.\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-b849f1e0-eb24-4a43-b606-5df2eedcd4a4\",\"object\":\"chat.completion.chunk\",\"created\":1743024460,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_c4760ee73b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5n3tdevv8ez55y2bs1pqc\",\"usage\":{\"queue_time\":0.10292177899999999,\"prompt_tokens\":1303,\"prompt_time\":0.152001793,\"completion_tokens\":62,\"completion_time\":0.225454545,\"total_tokens\":1365,\"total_time\":0.377456338}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link_1_d8c5c9a31d7041ecba8ff4b3429df7d2.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link_1_d8c5c9a31d7041ecba8ff4b3429df7d2.json new file mode 100644 index 0000000000..eead1c70a6 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link_1_d8c5c9a31d7041ecba8ff4b3429df7d2.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-ba6bcbc7-611b-4ba1-aa42-ec51e4493c45\",\"object\":\"chat.completion.chunk\",\"created\":1742837605,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4kersbe6xs9vpzteh4v1vp\"}}\n\ndata: {\"id\":\"chatcmpl-ba6bcbc7-611b-4ba1-aa42-ec51e4493c45\",\"object\":\"chat.completion.chunk\",\"created\":1742837605,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_41kr\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, world! Bold text. Link.\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-ba6bcbc7-611b-4ba1-aa42-ec51e4493c45\",\"object\":\"chat.completion.chunk\",\"created\":1742837605,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4kersbe6xs9vpzteh4v1vp\",\"usage\":{\"queue_time\":0.13019922499999997,\"prompt_tokens\":1417,\"prompt_time\":0.31976672,\"completion_tokens\":63,\"completion_time\":0.229090909,\"total_tokens\":1480,\"total_time\":0.548857629}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/plain source block, add mention_1_8c1769196fa40ce8eab1c472c3b07f0d.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/plain source block, add mention_1_8c1769196fa40ce8eab1c472c3b07f0d.json new file mode 100644 index 0000000000..b06eaf9b9e --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/plain source block, add mention_1_8c1769196fa40ce8eab1c472c3b07f0d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-be09d924-54a7-4200-aedd-ebde62282820\",\"object\":\"chat.completion.chunk\",\"created\":1743024458,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5n2gcfspte2vmmanjjz37\"}}\n\ndata: {\"id\":\"chatcmpl-be09d924-54a7-4200-aedd-ebde62282820\",\"object\":\"chat.completion.chunk\",\"created\":1743024458,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_sq97\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"mention\\\", \\\"props\\\": {\\\"user\\\": \\\"Jane Doe\\\"}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"!\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-be09d924-54a7-4200-aedd-ebde62282820\",\"object\":\"chat.completion.chunk\",\"created\":1743024458,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5n2gcfspte2vmmanjjz37\",\"usage\":{\"queue_time\":0.10302385000000001,\"prompt_tokens\":1301,\"prompt_time\":0.093746818,\"completion_tokens\":90,\"completion_time\":0.327272727,\"total_tokens\":1391,\"total_time\":0.421019545}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/plain source block, add mention_1_a3ed7a6349182a56e0eb61bfef155ea0.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/plain source block, add mention_1_a3ed7a6349182a56e0eb61bfef155ea0.json new file mode 100644 index 0000000000..fd1aaac3e3 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/plain source block, add mention_1_a3ed7a6349182a56e0eb61bfef155ea0.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-cd3e40fa-064d-4cf6-b23f-7acf081e9bcb\",\"object\":\"chat.completion.chunk\",\"created\":1742837603,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4keq96e6xrnna119athw0r\"}}\n\ndata: {\"id\":\"chatcmpl-cd3e40fa-064d-4cf6-b23f-7acf081e9bcb\",\"object\":\"chat.completion.chunk\",\"created\":1742837604,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_81hf\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"mention\\\", \\\"props\\\": {\\\"user\\\": \\\"Jane Doe\\\"}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"!\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-cd3e40fa-064d-4cf6-b23f-7acf081e9bcb\",\"object\":\"chat.completion.chunk\",\"created\":1742837604,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4keq96e6xrnna119athw0r\",\"usage\":{\"queue_time\":0.137494658,\"prompt_tokens\":1415,\"prompt_time\":0.122057201,\"completion_tokens\":89,\"completion_time\":0.323636364,\"total_tokens\":1504,\"total_time\":0.445693565}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/standard update_1_11632b4d21e1ccbe5dab8525e0243ee6.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/standard update_1_11632b4d21e1ccbe5dab8525e0243ee6.json new file mode 100644 index 0000000000..a8cbb665ab --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/standard update_1_11632b4d21e1ccbe5dab8525e0243ee6.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-cc33a05d-92d8-420a-9f01-736f36484fe4\",\"object\":\"chat.completion.chunk\",\"created\":1743024448,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5ms55fskrk0nrpqdz6sed\"}}\n\ndata: {\"id\":\"chatcmpl-cc33a05d-92d8-420a-9f01-736f36484fe4\",\"object\":\"chat.completion.chunk\",\"created\":1743024449,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_zwj3\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, updated content\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-cc33a05d-92d8-420a-9f01-736f36484fe4\",\"object\":\"chat.completion.chunk\",\"created\":1743024449,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5ms55fskrk0nrpqdz6sed\",\"usage\":{\"queue_time\":0.10135200200000002,\"prompt_tokens\":1300,\"prompt_time\":0.202782029,\"completion_tokens\":58,\"completion_time\":0.210909091,\"total_tokens\":1358,\"total_time\":0.41369112}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/standard update_1_1809f5dac6257a2a042ceae1e9993733.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/standard update_1_1809f5dac6257a2a042ceae1e9993733.json new file mode 100644 index 0000000000..a29ae9c4bc --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/standard update_1_1809f5dac6257a2a042ceae1e9993733.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-9687daae-46ab-4199-a97c-4b49555ac33a\",\"object\":\"chat.completion.chunk\",\"created\":1742837620,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4kf7wde70t11jfq76fcd2c\"}}\n\ndata: {\"id\":\"chatcmpl-9687daae-46ab-4199-a97c-4b49555ac33a\",\"object\":\"chat.completion.chunk\",\"created\":1742837621,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_x0th\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, updated content\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-9687daae-46ab-4199-a97c-4b49555ac33a\",\"object\":\"chat.completion.chunk\",\"created\":1742837621,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4kf7wde70t11jfq76fcd2c\",\"usage\":{\"queue_time\":0.137715459,\"prompt_tokens\":1414,\"prompt_time\":0.234659384,\"completion_tokens\":58,\"completion_time\":0.210909091,\"total_tokens\":1472,\"total_time\":0.445568475}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mark_1_02495c5c2b87cbe647486eb386496070.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mark_1_02495c5c2b87cbe647486eb386496070.json new file mode 100644 index 0000000000..8464d68f9b --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mark_1_02495c5c2b87cbe647486eb386496070.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-d62b1a2c-e6bb-4b92-8a41-3c40a0ab9a95\",\"object\":\"chat.completion.chunk\",\"created\":1742837601,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4kenb3frktgfn2x9j8tak7\"}}\n\ndata: {\"id\":\"chatcmpl-d62b1a2c-e6bb-4b92-8a41-3c40a0ab9a95\",\"object\":\"chat.completion.chunk\",\"created\":1742837602,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_qjny\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"mention\\\", \\\"props\\\": {\\\"user\\\": \\\"John Doe\\\"}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"! How \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"are you doing?\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-d62b1a2c-e6bb-4b92-8a41-3c40a0ab9a95\",\"object\":\"chat.completion.chunk\",\"created\":1742837602,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4kenb3frktgfn2x9j8tak7\",\"usage\":{\"queue_time\":0.13020971799999997,\"prompt_tokens\":1408,\"prompt_time\":0.163871347,\"completion_tokens\":110,\"completion_time\":0.4,\"total_tokens\":1518,\"total_time\":0.563871347}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mark_1_430f0f90f102c041837a61d503ffc81e.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mark_1_430f0f90f102c041837a61d503ffc81e.json new file mode 100644 index 0000000000..e7ba3a8d7d --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mark_1_430f0f90f102c041837a61d503ffc81e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-30e94a82-d21c-48a5-9cc8-0e7dfee12725\",\"object\":\"chat.completion.chunk\",\"created\":1743024452,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5mwaeevrba6z2ss6y89zm\"}}\n\ndata: {\"id\":\"chatcmpl-30e94a82-d21c-48a5-9cc8-0e7dfee12725\",\"object\":\"chat.completion.chunk\",\"created\":1743024452,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_grjm\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"mention\\\", \\\"props\\\": {\\\"user\\\": \\\"John Doe\\\"}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"! How \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"are you doing?\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-30e94a82-d21c-48a5-9cc8-0e7dfee12725\",\"object\":\"chat.completion.chunk\",\"created\":1743024452,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5mwaeevrba6z2ss6y89zm\",\"usage\":{\"queue_time\":0.10006119000000002,\"prompt_tokens\":1294,\"prompt_time\":0.18286289,\"completion_tokens\":110,\"completion_time\":0.4,\"total_tokens\":1404,\"total_time\":0.58286289}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mention_1_1e7fbb3d7dbdc995f68f8ec7cf9ac6d1.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mention_1_1e7fbb3d7dbdc995f68f8ec7cf9ac6d1.json new file mode 100644 index 0000000000..e37167944a --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mention_1_1e7fbb3d7dbdc995f68f8ec7cf9ac6d1.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-59fc6a2b-2ae5-4189-8d92-1e9b5e83f13d\",\"object\":\"chat.completion.chunk\",\"created\":1743024452,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5mx18evrabxpk35rap2q6\"}}\n\ndata: {\"id\":\"chatcmpl-59fc6a2b-2ae5-4189-8d92-1e9b5e83f13d\",\"object\":\"chat.completion.chunk\",\"created\":1743024453,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_yr52\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello! \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"How are you doing?\\\", \\\"styles\\\": {\\\"bold\\\": true}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-59fc6a2b-2ae5-4189-8d92-1e9b5e83f13d\",\"object\":\"chat.completion.chunk\",\"created\":1743024453,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5mx18evrabxpk35rap2q6\",\"usage\":{\"queue_time\":0.100668795,\"prompt_tokens\":1305,\"prompt_time\":0.098004741,\"completion_tokens\":80,\"completion_time\":0.290909091,\"total_tokens\":1385,\"total_time\":0.388913832}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mention_1_f8f6040045b5803ae6e5fece75d6ce09.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mention_1_f8f6040045b5803ae6e5fece75d6ce09.json new file mode 100644 index 0000000000..73ae26899c --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mention_1_f8f6040045b5803ae6e5fece75d6ce09.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-5f3295b7-5738-4650-bd15-56175a792f05\",\"object\":\"chat.completion.chunk\",\"created\":1742837602,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4kep2mfrksav14sbzfh936\"}}\n\ndata: {\"id\":\"chatcmpl-5f3295b7-5738-4650-bd15-56175a792f05\",\"object\":\"chat.completion.chunk\",\"created\":1742837602,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_xv0v\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello! \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"How are you doing?\\\", \\\"styles\\\": {\\\"bold\\\": true}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-5f3295b7-5738-4650-bd15-56175a792f05\",\"object\":\"chat.completion.chunk\",\"created\":1742837602,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4kep2mfrksav14sbzfh936\",\"usage\":{\"queue_time\":0.131532902,\"prompt_tokens\":1419,\"prompt_time\":0.105320726,\"completion_tokens\":80,\"completion_time\":0.290909091,\"total_tokens\":1499,\"total_time\":0.396229817}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, update mention prop_1_6d6fa9a53740bc20a8f303d9795904c9.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, update mention prop_1_6d6fa9a53740bc20a8f303d9795904c9.json new file mode 100644 index 0000000000..53badfcc0e --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, update mention prop_1_6d6fa9a53740bc20a8f303d9795904c9.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-4589a026-fa0a-4ac5-8165-090f455b6e43\",\"object\":\"chat.completion.chunk\",\"created\":1742837604,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4keqxre6zbrcrjzjrc3ck2\"}}\n\ndata: {\"id\":\"chatcmpl-4589a026-fa0a-4ac5-8165-090f455b6e43\",\"object\":\"chat.completion.chunk\",\"created\":1742837604,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_hbdv\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {\\\"textColor\\\": \\\"default\\\", \\\"backgroundColor\\\": \\\"default\\\", \\\"textAlignment\\\": \\\"left\\\"}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"mention\\\", \\\"props\\\": {\\\"user\\\": \\\"Jane Doe\\\"}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"! How \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"are you doing?\\\", \\\"styles\\\": {\\\"bold\\\": true}}], \\\"children\\\": []}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-4589a026-fa0a-4ac5-8165-090f455b6e43\",\"object\":\"chat.completion.chunk\",\"created\":1742837604,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4keqxre6zbrcrjzjrc3ck2\",\"usage\":{\"queue_time\":0.12921857499999997,\"prompt_tokens\":1406,\"prompt_time\":0.133309435,\"completion_tokens\":136,\"completion_time\":0.494545455,\"total_tokens\":1542,\"total_time\":0.62785489}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, update mention prop_1_a698bedcf41636b7af847c640ca58da5.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, update mention prop_1_a698bedcf41636b7af847c640ca58da5.json new file mode 100644 index 0000000000..d559862f44 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, update mention prop_1_a698bedcf41636b7af847c640ca58da5.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-2ed875c0-cbbf-4565-bf15-fc69982af774\",\"object\":\"chat.completion.chunk\",\"created\":1743024458,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5n325fspt4h354ppnmtgd\"}}\n\ndata: {\"id\":\"chatcmpl-2ed875c0-cbbf-4565-bf15-fc69982af774\",\"object\":\"chat.completion.chunk\",\"created\":1743024459,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_4ff0\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {\\\"textColor\\\": \\\"default\\\", \\\"backgroundColor\\\": \\\"default\\\", \\\"textAlignment\\\": \\\"left\\\"}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"mention\\\", \\\"props\\\": {\\\"user\\\": \\\"Jane Doe\\\"}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"! How \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"are you doing?\\\", \\\"styles\\\": {\\\"bold\\\": true}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-2ed875c0-cbbf-4565-bf15-fc69982af774\",\"object\":\"chat.completion.chunk\",\"created\":1743024459,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5n325fspt4h354ppnmtgd\",\"usage\":{\"queue_time\":0.10011911600000001,\"prompt_tokens\":1292,\"prompt_time\":0.096718319,\"completion_tokens\":132,\"completion_time\":0.48,\"total_tokens\":1424,\"total_time\":0.576718319}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block_1_2917a476d1fd7b1dc8e35c222f67431b.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block_1_2917a476d1fd7b1dc8e35c222f67431b.json new file mode 100644 index 0000000000..b7ceaac742 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block_1_2917a476d1fd7b1dc8e35c222f67431b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-4ca9bfab-e711-4923-950e-a93d89a7c386\",\"object\":\"chat.completion.chunk\",\"created\":1742837601,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4kemrce6xa02g5xzcgjvtn\"}}\n\ndata: {\"id\":\"chatcmpl-4ca9bfab-e711-4923-950e-a93d89a7c386\",\"object\":\"chat.completion.chunk\",\"created\":1742837601,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_x99a\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, updated content\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-4ca9bfab-e711-4923-950e-a93d89a7c386\",\"object\":\"chat.completion.chunk\",\"created\":1742837601,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4kemrce6xa02g5xzcgjvtn\",\"usage\":{\"queue_time\":0.134167624,\"prompt_tokens\":1414,\"prompt_time\":0.215854158,\"completion_tokens\":58,\"completion_time\":0.210909091,\"total_tokens\":1472,\"total_time\":0.426763249}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block_1_dc3d57c44f0c60c55d29a6b23cd8f2ad.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block_1_dc3d57c44f0c60c55d29a6b23cd8f2ad.json new file mode 100644 index 0000000000..bdeecc56b7 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block_1_dc3d57c44f0c60c55d29a6b23cd8f2ad.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-b0fc3d88-8dfb-47f3-b8cc-4d8c0ffa1f82\",\"object\":\"chat.completion.chunk\",\"created\":1743024451,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5mvv6fgd9kb9tfytcvp9a\"}}\n\ndata: {\"id\":\"chatcmpl-b0fc3d88-8dfb-47f3-b8cc-4d8c0ffa1f82\",\"object\":\"chat.completion.chunk\",\"created\":1743024451,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_s15e\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, updated content\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-b0fc3d88-8dfb-47f3-b8cc-4d8c0ffa1f82\",\"object\":\"chat.completion.chunk\",\"created\":1743024451,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5mvv6fgd9kb9tfytcvp9a\",\"usage\":{\"queue_time\":0.09966393700000001,\"prompt_tokens\":1300,\"prompt_time\":0.10478207,\"completion_tokens\":58,\"completion_time\":0.210909091,\"total_tokens\":1358,\"total_time\":0.315691161}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in target block, add mark_1_6d82b0009c827f2efc6a36af85580a0a.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in target block, add mark_1_6d82b0009c827f2efc6a36af85580a0a.json new file mode 100644 index 0000000000..22c5673af6 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in target block, add mark_1_6d82b0009c827f2efc6a36af85580a0a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-614d8f89-f3f8-4464-8c86-999393893dfa\",\"object\":\"chat.completion.chunk\",\"created\":1742837603,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4kepmgfrkspgxqm2cg1k91\"}}\n\ndata: {\"id\":\"chatcmpl-614d8f89-f3f8-4464-8c86-999393893dfa\",\"object\":\"chat.completion.chunk\",\"created\":1742837603,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_51x3\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"world!\\\", \\\"styles\\\": {\\\"bold\\\": true}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-614d8f89-f3f8-4464-8c86-999393893dfa\",\"object\":\"chat.completion.chunk\",\"created\":1742837603,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4kepmgfrkspgxqm2cg1k91\",\"usage\":{\"queue_time\":0.128857234,\"prompt_tokens\":1411,\"prompt_time\":0.186439435,\"completion_tokens\":77,\"completion_time\":0.28,\"total_tokens\":1488,\"total_time\":0.466439435}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in target block, add mark_1_9cc478074e29822a2c16f1aef0c91eec.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in target block, add mark_1_9cc478074e29822a2c16f1aef0c91eec.json new file mode 100644 index 0000000000..09f21a41c2 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in target block, add mark_1_9cc478074e29822a2c16f1aef0c91eec.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-4ab0674d-eafc-402d-a8aa-f9a887211a8e\",\"object\":\"chat.completion.chunk\",\"created\":1743024458,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_4e32347616\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5mxj1evr8qzx2mr60k5rc\"}}\n\ndata: {\"id\":\"chatcmpl-4ab0674d-eafc-402d-a8aa-f9a887211a8e\",\"object\":\"chat.completion.chunk\",\"created\":1743024459,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_4e32347616\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_ptrg\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, \\\", \\\"styles\\\": {}}, {\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"world!\\\", \\\"styles\\\": {\\\"bold\\\": true}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-4ab0674d-eafc-402d-a8aa-f9a887211a8e\",\"object\":\"chat.completion.chunk\",\"created\":1743024459,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_4e32347616\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5mxj1evr8qzx2mr60k5rc\",\"usage\":{\"queue_time\":5.430239328,\"prompt_tokens\":1297,\"prompt_time\":0.15020392,\"completion_tokens\":77,\"completion_time\":0.28,\"total_tokens\":1374,\"total_time\":0.43020392}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop and content_1_2818d289627de88f13576fdb050b158b.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop and content_1_2818d289627de88f13576fdb050b158b.json new file mode 100644 index 0000000000..64b7777248 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop and content_1_2818d289627de88f13576fdb050b158b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-de4b227c-5e88-4d37-8851-8e999cbcd91b\",\"object\":\"chat.completion.chunk\",\"created\":1743024450,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5mv8aevra5jfgj12ncg85\"}}\n\ndata: {\"id\":\"chatcmpl-de4b227c-5e88-4d37-8851-8e999cbcd91b\",\"object\":\"chat.completion.chunk\",\"created\":1743024451,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_khzh\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {\\\"textColor\\\": \\\"default\\\", \\\"backgroundColor\\\": \\\"default\\\", \\\"textAlignment\\\": \\\"right\\\"}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"What's up, world!\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-de4b227c-5e88-4d37-8851-8e999cbcd91b\",\"object\":\"chat.completion.chunk\",\"created\":1743024451,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5mv8aevra5jfgj12ncg85\",\"usage\":{\"queue_time\":0.101328054,\"prompt_tokens\":1304,\"prompt_time\":0.174980146,\"completion_tokens\":79,\"completion_time\":0.287272727,\"total_tokens\":1383,\"total_time\":0.462252873}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop and content_1_c1485bbb88f0f7200bea6ac1c009074e.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop and content_1_c1485bbb88f0f7200bea6ac1c009074e.json new file mode 100644 index 0000000000..1d051ff576 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop and content_1_c1485bbb88f0f7200bea6ac1c009074e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-6593604e-fd10-454c-b4c4-f7a4b0ffde99\",\"object\":\"chat.completion.chunk\",\"created\":1742837600,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4kem2qe6waw9yk70xjvean\"}}\n\ndata: {\"id\":\"chatcmpl-6593604e-fd10-454c-b4c4-f7a4b0ffde99\",\"object\":\"chat.completion.chunk\",\"created\":1742837600,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_tah2\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {\\\"textColor\\\": \\\"default\\\", \\\"backgroundColor\\\": \\\"default\\\", \\\"textAlignment\\\": \\\"right\\\"}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"What's up, world!\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-6593604e-fd10-454c-b4c4-f7a4b0ffde99\",\"object\":\"chat.completion.chunk\",\"created\":1742837600,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4kem2qe6waw9yk70xjvean\",\"usage\":{\"queue_time\":0.13089486499999997,\"prompt_tokens\":1418,\"prompt_time\":0.237676359,\"completion_tokens\":78,\"completion_time\":0.283636364,\"total_tokens\":1496,\"total_time\":0.521312723}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop_1_6cf486fde639999a6595b63611bf0dce.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop_1_6cf486fde639999a6595b63611bf0dce.json new file mode 100644 index 0000000000..6536009547 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop_1_6cf486fde639999a6595b63611bf0dce.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-4e72560b-6e38-490c-b96a-3a4e4f87405e\",\"object\":\"chat.completion.chunk\",\"created\":1743024449,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5mta3evra76mc92bncjd1\"}}\n\ndata: {\"id\":\"chatcmpl-4e72560b-6e38-490c-b96a-3a4e4f87405e\",\"object\":\"chat.completion.chunk\",\"created\":1743024450,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_v8j5\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {\\\"textColor\\\": \\\"default\\\", \\\"backgroundColor\\\": \\\"default\\\", \\\"textAlignment\\\": \\\"right\\\"}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, world!\\\", \\\"styles\\\": {}}]}}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-4e72560b-6e38-490c-b96a-3a4e4f87405e\",\"object\":\"chat.completion.chunk\",\"created\":1743024450,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5mta3evra76mc92bncjd1\",\"usage\":{\"queue_time\":0.09982255,\"prompt_tokens\":1292,\"prompt_time\":0.095857877,\"completion_tokens\":73,\"completion_time\":0.265454545,\"total_tokens\":1365,\"total_time\":0.361312422}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop_1_c00e307d84df70434648a30ee9f8c0bf.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop_1_c00e307d84df70434648a30ee9f8c0bf.json new file mode 100644 index 0000000000..18523c39a1 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block prop_1_c00e307d84df70434648a30ee9f8c0bf.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-97d68575-121b-4656-a895-29449a2d2a79\",\"object\":\"chat.completion.chunk\",\"created\":1742837599,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4kejqdfrktgtt85rf306y5\"}}\n\ndata: {\"id\":\"chatcmpl-97d68575-121b-4656-a895-29449a2d2a79\",\"object\":\"chat.completion.chunk\",\"created\":1742837599,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_esxv\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {\\\"textColor\\\": \\\"default\\\", \\\"backgroundColor\\\": \\\"default\\\", \\\"textAlignment\\\": \\\"right\\\"}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, world!\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-97d68575-121b-4656-a895-29449a2d2a79\",\"object\":\"chat.completion.chunk\",\"created\":1742837599,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4kejqdfrktgtt85rf306y5\",\"usage\":{\"queue_time\":0.129984938,\"prompt_tokens\":1406,\"prompt_time\":0.270604157,\"completion_tokens\":76,\"completion_time\":0.276363636,\"total_tokens\":1482,\"total_time\":0.546967793}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type and content_1_a7b955de0ee71568bfd83df2ec141875.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type and content_1_a7b955de0ee71568bfd83df2ec141875.json new file mode 100644 index 0000000000..846c46b9ec --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type and content_1_a7b955de0ee71568bfd83df2ec141875.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-63233335-12d8-4cc5-a7b6-961670ba1065\",\"object\":\"chat.completion.chunk\",\"created\":1743024450,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5mtt6fgd8d42er3pfme5a\"}}\n\ndata: {\"id\":\"chatcmpl-63233335-12d8-4cc5-a7b6-961670ba1065\",\"object\":\"chat.completion.chunk\",\"created\":1743024450,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_ey1t\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"heading\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"What's up, world!\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-63233335-12d8-4cc5-a7b6-961670ba1065\",\"object\":\"chat.completion.chunk\",\"created\":1743024450,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5mtt6fgd8d42er3pfme5a\",\"usage\":{\"queue_time\":0.09893120799999999,\"prompt_tokens\":1304,\"prompt_time\":0.099395402,\"completion_tokens\":59,\"completion_time\":0.214545455,\"total_tokens\":1363,\"total_time\":0.313940857}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type and content_1_a823379d44ffe3f008f593747ecad249.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type and content_1_a823379d44ffe3f008f593747ecad249.json new file mode 100644 index 0000000000..1d6ed416c2 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type and content_1_a823379d44ffe3f008f593747ecad249.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-c1799237-4262-4e5e-b769-baccc659022f\",\"object\":\"chat.completion.chunk\",\"created\":1742837599,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4kekdze6vb3ghrvy8ptxbc\"}}\n\ndata: {\"id\":\"chatcmpl-c1799237-4262-4e5e-b769-baccc659022f\",\"object\":\"chat.completion.chunk\",\"created\":1742837600,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_19an\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"heading\\\", \\\"props\\\": {\\\"level\\\": 1}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"What's up, world!\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-c1799237-4262-4e5e-b769-baccc659022f\",\"object\":\"chat.completion.chunk\",\"created\":1742837600,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4kekdze6vb3ghrvy8ptxbc\",\"usage\":{\"queue_time\":0.131340992,\"prompt_tokens\":1418,\"prompt_time\":0.252058516,\"completion_tokens\":64,\"completion_time\":0.232727273,\"total_tokens\":1482,\"total_time\":0.484785789}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type_1_288beedec80aa4570e242e419b581f53.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type_1_288beedec80aa4570e242e419b581f53.json new file mode 100644 index 0000000000..b984208ff6 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type_1_288beedec80aa4570e242e419b581f53.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-1210b72b-c6f3-4145-bb44-88456a5ea95f\",\"object\":\"chat.completion.chunk\",\"created\":1743024449,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5mss0evrayf2wq2d6g9f0\"}}\n\ndata: {\"id\":\"chatcmpl-1210b72b-c6f3-4145-bb44-88456a5ea95f\",\"object\":\"chat.completion.chunk\",\"created\":1743024449,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_b8zq\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"heading\\\", \\\"props\\\": {\\\"level\\\": 1}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, world!\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-1210b72b-c6f3-4145-bb44-88456a5ea95f\",\"object\":\"chat.completion.chunk\",\"created\":1743024449,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5mss0evrayf2wq2d6g9f0\",\"usage\":{\"queue_time\":0.101492474,\"prompt_tokens\":1292,\"prompt_time\":0.132297915,\"completion_tokens\":62,\"completion_time\":0.225454545,\"total_tokens\":1354,\"total_time\":0.35775246}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type_1_6e656a17f68109f272dfc5f39519cb30.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type_1_6e656a17f68109f272dfc5f39519cb30.json new file mode 100644 index 0000000000..503d5a627d --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type_1_6e656a17f68109f272dfc5f39519cb30.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-2f63e6b6-2ac4-48d2-a64e-47847f265147\",\"object\":\"chat.completion.chunk\",\"created\":1742837621,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4kf91je70sm6qkv0pj7pfd\"}}\n\ndata: {\"id\":\"chatcmpl-2f63e6b6-2ac4-48d2-a64e-47847f265147\",\"object\":\"chat.completion.chunk\",\"created\":1742837622,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_qr9d\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": {\\\"type\\\": \\\"heading\\\", \\\"props\\\": {\\\"level\\\": 1}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello, world!\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-2f63e6b6-2ac4-48d2-a64e-47847f265147\",\"object\":\"chat.completion.chunk\",\"created\":1742837622,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4kf91je70sm6qkv0pj7pfd\",\"usage\":{\"queue_time\":0.130298562,\"prompt_tokens\":1406,\"prompt_time\":0.140155949,\"completion_tokens\":63,\"completion_time\":0.229090909,\"total_tokens\":1469,\"total_time\":0.369246858}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_263762df21d56cd4376f7af2e9b67626.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_263762df21d56cd4376f7af2e9b67626.json new file mode 100644 index 0000000000..a44199b383 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_263762df21d56cd4376f7af2e9b67626.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEfx6jDOS6BJokIJyfpUIq6WMmke0\",\n \"object\": \"chat.completion\",\n \"created\": 1742837556,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_rE90S6CRYo8vwuS26qP6iuDg\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hi, world! Bold the text. Link.\\\"}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1376,\n \"completion_tokens\": 43,\n \"total_tokens\": 1419,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 1280,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_ca20fd57d92b432e47fdcec0f806f22d.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_ca20fd57d92b432e47fdcec0f806f22d.json new file mode 100644 index 0000000000..b34eb14f4b --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_ca20fd57d92b432e47fdcec0f806f22d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSZOTYPs1MbXHgCurc58AKNd1foE\",\n \"object\": \"chat.completion\",\n \"created\": 1743024442,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_UgaggJfGDyaeg5dytcfc1bVW\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hi, world! Bold the text. Link.\\\",\\\"styles\\\":{}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 968,\n \"completion_tokens\": 47,\n \"total_tokens\": 1015,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_9ab088778a4c7cec250091aa5820a24c.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_9ab088778a4c7cec250091aa5820a24c.json new file mode 100644 index 0000000000..a9354f8e2d --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_9ab088778a4c7cec250091aa5820a24c.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSZOah8l32IDGvSUHkBUeaEXI6Ob\",\n \"object\": \"chat.completion\",\n \"created\": 1743024442,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_rTGeysblGKe4EU39SMnjusac\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! Bold text. Link.\\\"}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 962,\n \"completion_tokens\": 42,\n \"total_tokens\": 1004,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_de57b65c90\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_fa4d9015e5f38ae323f54cebde3c1200.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_fa4d9015e5f38ae323f54cebde3c1200.json new file mode 100644 index 0000000000..a9c6178ab9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_fa4d9015e5f38ae323f54cebde3c1200.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEfx4MFyhRWYace8q8ZgWLRoUmsoo\",\n \"object\": \"chat.completion\",\n \"created\": 1742837554,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_osiMkD0L8wqFRtBdKzCKzwh6\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! Bold text. Link.\\\"}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1370,\n \"completion_tokens\": 42,\n \"total_tokens\": 1412,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 1280,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_eb9dce56a8\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/plain source block, add mention_1_9d42d0ec02acb50f6519e29394d67190.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/plain source block, add mention_1_9d42d0ec02acb50f6519e29394d67190.json new file mode 100644 index 0000000000..617b41309a --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/plain source block, add mention_1_9d42d0ec02acb50f6519e29394d67190.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEfx1TjVxCi5iLVqgMZaMTspz2iWc\",\n \"object\": \"chat.completion\",\n \"created\": 1742837551,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_O9WoFYknRkRhehLaCHO5c5b4\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"Jane Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"!\\\",\\\"styles\\\":{}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1368,\n \"completion_tokens\": 64,\n \"total_tokens\": 1432,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 1280,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/plain source block, add mention_1_ae55d1c480ed80da54334bcf0dfa549e.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/plain source block, add mention_1_ae55d1c480ed80da54334bcf0dfa549e.json new file mode 100644 index 0000000000..4d7281f20b --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/plain source block, add mention_1_ae55d1c480ed80da54334bcf0dfa549e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSZLwSZgPfj6H8aH4MzESvHWa7ca\",\n \"object\": \"chat.completion\",\n \"created\": 1743024439,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_7FlxZh6DfBdEuURDag1BjbMh\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"Jane Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"!\\\",\\\"styles\\\":{}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 960,\n \"completion_tokens\": 64,\n \"total_tokens\": 1024,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_de57b65c90\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_27016ce91939f41b5e9735ce7c22149f.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_27016ce91939f41b5e9735ce7c22149f.json new file mode 100644 index 0000000000..0a44818638 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_27016ce91939f41b5e9735ce7c22149f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEfwo6vLN1I00qCYaNOmrkWKZjISW\",\n \"object\": \"chat.completion\",\n \"created\": 1742837538,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_f3r48jlgpBIzPKW21e241JoH\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, updated content\\\",\\\"styles\\\":{}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1367,\n \"completion_tokens\": 42,\n \"total_tokens\": 1409,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_45ca1ca4007f7963119ee75d2b718e6f.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_45ca1ca4007f7963119ee75d2b718e6f.json new file mode 100644 index 0000000000..f7b647b649 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_45ca1ca4007f7963119ee75d2b718e6f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSYwgldd4oEN9Gl24S36kAUjC5Dv\",\n \"object\": \"chat.completion\",\n \"created\": 1743024414,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_GpQOllBlWer3pL4ZIwHDaC14\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, updated content\\\",\\\"styles\\\":{}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 959,\n \"completion_tokens\": 42,\n \"total_tokens\": 1001,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_4d68b94a0944a7558b207e31907f7bf9.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_4d68b94a0944a7558b207e31907f7bf9.json new file mode 100644 index 0000000000..b82d480d9b --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_4d68b94a0944a7558b207e31907f7bf9.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSZC2ZYWotyCQa0Zjs4lCGondi4y\",\n \"object\": \"chat.completion\",\n \"created\": 1743024430,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_TwAJiixBnHVifWP7R9j4TrMX\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 953,\n \"completion_tokens\": 98,\n \"total_tokens\": 1051,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_de57b65c90\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_84c2d96f2372a7a7493f9b10df562997.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_84c2d96f2372a7a7493f9b10df562997.json new file mode 100644 index 0000000000..e93f7651f9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_84c2d96f2372a7a7493f9b10df562997.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEfwwuXPzk0JW08csUB7WTHJkUYIa\",\n \"object\": \"chat.completion\",\n \"created\": 1742837546,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_7lQJ86PM5cXp7JJg6hBAzD00\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1361,\n \"completion_tokens\": 80,\n \"total_tokens\": 1441,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_61fe645fbe87c92067aa695b0b6514be.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_61fe645fbe87c92067aa695b0b6514be.json new file mode 100644 index 0000000000..d1cf0b28df --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_61fe645fbe87c92067aa695b0b6514be.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEfwyWDVYLKVZdEjapJv4Xb3wb2pt\",\n \"object\": \"chat.completion\",\n \"created\": 1742837548,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_adVtF7LbBbeSjDS6eY9Ziy4h\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1372,\n \"completion_tokens\": 58,\n \"total_tokens\": 1430,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 1280,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_eb9dce56a8\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_ed15d57de86e6645449c32f7312865fd.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_ed15d57de86e6645449c32f7312865fd.json new file mode 100644 index 0000000000..a46248f43c --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_ed15d57de86e6645449c32f7312865fd.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSZGM7QgdY4hPP8T0KOgEMu9kCTX\",\n \"object\": \"chat.completion\",\n \"created\": 1743024434,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_QK50QvrFHKH3fNHtffgHtNpt\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 964,\n \"completion_tokens\": 58,\n \"total_tokens\": 1022,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update mention prop_1_2e6811300f1e572981ba1330204657f1.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update mention prop_1_2e6811300f1e572981ba1330204657f1.json new file mode 100644 index 0000000000..76d9fd60a5 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update mention prop_1_2e6811300f1e572981ba1330204657f1.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEfx2uidnJv9gVCfuRH8CG6brTRpz\",\n \"object\": \"chat.completion\",\n \"created\": 1742837552,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_ZlbXDVAy2FMyGNM2ZzUuuoYi\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"Jane Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1359,\n \"completion_tokens\": 82,\n \"total_tokens\": 1441,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 1280,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update mention prop_1_6ed2ad060906d71a2b5de6d31d3fc099.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update mention prop_1_6ed2ad060906d71a2b5de6d31d3fc099.json new file mode 100644 index 0000000000..a061fd117f --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, update mention prop_1_6ed2ad060906d71a2b5de6d31d3fc099.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSZNUDG8fklmKPCcr7pu5AorQrbe\",\n \"object\": \"chat.completion\",\n \"created\": 1743024441,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_fNXsWcIwzIzk9BXEsWY1ddUC\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"Jane Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 951,\n \"completion_tokens\": 100,\n \"total_tokens\": 1051,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_de57b65c90\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_77716a248954dcda9be2420c1540cea6.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_77716a248954dcda9be2420c1540cea6.json new file mode 100644 index 0000000000..fe731bb925 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_77716a248954dcda9be2420c1540cea6.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEfwv7f93AD6B3v7hbzIdC8w5yLrT\",\n \"object\": \"chat.completion\",\n \"created\": 1742837545,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_iE5wVqChImxOanUDuwhsyjjd\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, updated content\\\",\\\"styles\\\":{}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1367,\n \"completion_tokens\": 42,\n \"total_tokens\": 1409,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 1280,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_eb9dce56a8\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_cfadf5e18860f686098d6db7211b75a5.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_cfadf5e18860f686098d6db7211b75a5.json new file mode 100644 index 0000000000..304f759499 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_cfadf5e18860f686098d6db7211b75a5.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSZB8pKawvMOu70wE6wWOmr6nY50\",\n \"object\": \"chat.completion\",\n \"created\": 1743024429,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_zvt9NQIYxiqfjzMEUkZAcovd\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, updated content\\\"}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 959,\n \"completion_tokens\": 38,\n \"total_tokens\": 997,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_de57b65c90\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_09cca938032e7bc685d208e4c20dff77.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_09cca938032e7bc685d208e4c20dff77.json new file mode 100644 index 0000000000..a7f17c2d5c --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_09cca938032e7bc685d208e4c20dff77.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEfwzJ2buzUaalejiG2oUHtP6QOt6\",\n \"object\": \"chat.completion\",\n \"created\": 1742837549,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_xyqB9q5LTWFuLKLdUiu57PSH\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"world!\\\",\\\"styles\\\":{\\\"bold\\\":true}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1364,\n \"completion_tokens\": 55,\n \"total_tokens\": 1419,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 1280,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_b4d210d15a248d7fd145b6b44b3ac089.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_b4d210d15a248d7fd145b6b44b3ac089.json new file mode 100644 index 0000000000..dd5766601b --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_b4d210d15a248d7fd145b6b44b3ac089.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSZK5sW65iBmSNzGL87SDtXZx50x\",\n \"object\": \"chat.completion\",\n \"created\": 1743024438,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_aSnLOXJvasXy15rvUJxdTdGY\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"world!\\\",\\\"styles\\\":{\\\"bold\\\":true}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 956,\n \"completion_tokens\": 73,\n \"total_tokens\": 1029,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_de57b65c90\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop and content_1_1231df197854d9b16146272a357d41ad.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop and content_1_1231df197854d9b16146272a357d41ad.json new file mode 100644 index 0000000000..22beb3d2cc --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop and content_1_1231df197854d9b16146272a357d41ad.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSZ7hh4xeVsueNlFz4xSYT2rc7eE\",\n \"object\": \"chat.completion\",\n \"created\": 1743024425,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_z5lhsLuIATCAwEVdBWQzCh0b\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What's up, world!\\\",\\\"styles\\\":{}}],\\\"props\\\":{\\\"textAlignment\\\":\\\"right\\\"}}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 962,\n \"completion_tokens\": 50,\n \"total_tokens\": 1012,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop and content_1_4a1f3d33a93ed5ffbcf71abab305d938.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop and content_1_4a1f3d33a93ed5ffbcf71abab305d938.json new file mode 100644 index 0000000000..4b8672fad8 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop and content_1_4a1f3d33a93ed5ffbcf71abab305d938.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEfwuV2EIQTnop8OIzrzaapqfdZgY\",\n \"object\": \"chat.completion\",\n \"created\": 1742837544,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_IoIVrJAYX7Tpuph1Nk4cQPiP\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What's up, world!\\\",\\\"styles\\\":{}}],\\\"props\\\":{\\\"textAlignment\\\":\\\"right\\\"}}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1370,\n \"completion_tokens\": 50,\n \"total_tokens\": 1420,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 1280,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_eb9dce56a8\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop_1_05aba72ad76a0e1776feb6353b49827f.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop_1_05aba72ad76a0e1776feb6353b49827f.json new file mode 100644 index 0000000000..d49868cdb9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop_1_05aba72ad76a0e1776feb6353b49827f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSZ1ykfMbYkQf554pZAYXSr7UdBJ\",\n \"object\": \"chat.completion\",\n \"created\": 1743024419,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_PO7Wvr473Vzmj6znYeV1nwKf\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textAlignment\\\":\\\"right\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 951,\n \"completion_tokens\": 50,\n \"total_tokens\": 1001,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop_1_f942259994d5357be27faf9f5299f1c7.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop_1_f942259994d5357be27faf9f5299f1c7.json new file mode 100644 index 0000000000..443fda55fe --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block prop_1_f942259994d5357be27faf9f5299f1c7.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEfwrAeLP7t5XGxSKYZ3lTZjA7K7E\",\n \"object\": \"chat.completion\",\n \"created\": 1742837541,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_f37yz9kGann0DO5Hf9BdyxoM\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"right\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1359,\n \"completion_tokens\": 60,\n \"total_tokens\": 1419,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 1280,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_6ec83003ad\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_105972683a1cc5045429a9c84d773468.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_105972683a1cc5045429a9c84d773468.json new file mode 100644 index 0000000000..8066ffcbea --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_105972683a1cc5045429a9c84d773468.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEfwsViLXL5OvplF36NxCcRdQAZVc\",\n \"object\": \"chat.completion\",\n \"created\": 1742837542,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_BnLC7FCYeug7u2YCs7pHvSzN\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":{\\\"type\\\":\\\"heading\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What's up, world!\\\"}],\\\"props\\\":{\\\"level\\\":1}}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1370,\n \"completion_tokens\": 45,\n \"total_tokens\": 1415,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 1280,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_eb9dce56a8\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_f20759f205aa2d3531c468d512e09b61.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_f20759f205aa2d3531c468d512e09b61.json new file mode 100644 index 0000000000..883411643f --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_f20759f205aa2d3531c468d512e09b61.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSZ6KrTYCd9kzLv7X30LRYZfarFq\",\n \"object\": \"chat.completion\",\n \"created\": 1743024424,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_V3oTPA5G6rEruauq8hKK48gM\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":{\\\"type\\\":\\\"heading\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What's up, world!\\\"}],\\\"props\\\":{\\\"level\\\":1}}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 962,\n \"completion_tokens\": 45,\n \"total_tokens\": 1007,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_de57b65c90\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_2825bcf1ef36322e774773af28218c58.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_2825bcf1ef36322e774773af28218c58.json new file mode 100644 index 0000000000..9d512b7150 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_2825bcf1ef36322e774773af28218c58.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSYzLTSx3BVDDKECVStBoYlYlJjC\",\n \"object\": \"chat.completion\",\n \"created\": 1743024417,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_lmTxAroMIxiJQZZjUAv4cAM1\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":{\\\"type\\\":\\\"heading\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"props\\\":{\\\"level\\\":1}}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 951,\n \"completion_tokens\": 48,\n \"total_tokens\": 999,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_28def06e7990bb7a50bb4985830c7965.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_28def06e7990bb7a50bb4985830c7965.json new file mode 100644 index 0000000000..5519b3e778 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_28def06e7990bb7a50bb4985830c7965.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEfwpIOs6p9IQbbHVv7Ix7Dv90Jp2\",\n \"object\": \"chat.completion\",\n \"created\": 1742837539,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_o6RVWJZniejDTCu3kDYAOtyC\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":{\\\"type\\\":\\\"heading\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"props\\\":{\\\"level\\\":1}}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1359,\n \"completion_tokens\": 48,\n \"total_tokens\": 1407,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_eb9dce56a8\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_569a794ae4dfed4b89911cce56987a13.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_569a794ae4dfed4b89911cce56987a13.json new file mode 100644 index 0000000000..661b1ca7cc --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_569a794ae4dfed4b89911cce56987a13.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_35tJwORoWRDIGIcWU3IZi09F\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hi\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" the\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Link\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxXjxmv9n8Z0JgFKyVK59bGL2sS\",\"object\":\"chat.completion.chunk\",\"created\":1742837583,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_dbf60c53bfc13b9b3a2df7353aa61f87.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_dbf60c53bfc13b9b3a2df7353aa61f87.json new file mode 100644 index 0000000000..60463e36c7 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_dbf60c53bfc13b9b3a2df7353aa61f87.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_6yVhKha9IxKJm6buJGLTjU9Z\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hi\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" the\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Link\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYmbPOKUn7b0xuaJYwbKnaRAHW5\",\"object\":\"chat.completion.chunk\",\"created\":1743024404,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_393e3182eb75c9f8bcf2e86a984e2e50.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_393e3182eb75c9f8bcf2e86a984e2e50.json new file mode 100644 index 0000000000..b0c54f53a8 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_393e3182eb75c9f8bcf2e86a984e2e50.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_8EWvf6NDVsK3EbcB8xrphP1Y\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Link\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxVokKd7NeuyD1g7r1qOze3parw\",\"object\":\"chat.completion.chunk\",\"created\":1742837581,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_bdb34d774eb45113ffb222c038160093.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_bdb34d774eb45113ffb222c038160093.json new file mode 100644 index 0000000000..435e2345d5 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_bdb34d774eb45113ffb222c038160093.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_H3iIaVuyGHu7FreknGSiQFoe\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Link\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYlO6WwvT0WGthKN9cHJ095ROhP\",\"object\":\"chat.completion.chunk\",\"created\":1743024403,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/plain source block, add mention_1_262fc0ea8edc96b65468c113bac7d7b2.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/plain source block, add mention_1_262fc0ea8edc96b65468c113bac7d7b2.json new file mode 100644 index 0000000000..3d8c6e4817 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/plain source block, add mention_1_262fc0ea8edc96b65468c113bac7d7b2.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_7vb8ZHZev6UpNDwHQvphsegg\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"mention\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"user\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Jane\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxQ30BBMdPZnfup571I0yMUaAMm\",\"object\":\"chat.completion.chunk\",\"created\":1742837576,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/plain source block, add mention_1_a27a158f4829d6b53b537aaf7f087fb1.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/plain source block, add mention_1_a27a158f4829d6b53b537aaf7f087fb1.json new file mode 100644 index 0000000000..7b475504ae --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/plain source block, add mention_1_a27a158f4829d6b53b537aaf7f087fb1.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"Change the first paragraph to Hello, Jane Doe! (use a mention)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_0v6GAuurxbzoBSHJXrvHHmus\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"mention\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"user\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Jane\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYi5QP7zUlSZcYXLXgv5lx8lJ6U\",\"object\":\"chat.completion.chunk\",\"created\":1743024400,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_121334d5f35f095e4adf175663b7e538.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_121334d5f35f095e4adf175663b7e538.json new file mode 100644 index 0000000000..d6e6faa6f0 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_121334d5f35f095e4adf175663b7e538.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_KsaqUNh9LQnpZrKDiFUvKwZr\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" updated\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYUGMW164wKPimai9UdCEc61pPq\",\"object\":\"chat.completion.chunk\",\"created\":1743024386,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_20955338e59a6eef09e2e3af32d7e9bc.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_20955338e59a6eef09e2e3af32d7e9bc.json new file mode 100644 index 0000000000..b57b7aec70 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_20955338e59a6eef09e2e3af32d7e9bc.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_Bd1p88KtBVP6wmAWP8WozBIT\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" updated\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxBPcp72QoQ7vWtrnDo9loDB58O\",\"object\":\"chat.completion.chunk\",\"created\":1742837561,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_69c631d2133ca0644e9974f8d8959e4b.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_69c631d2133ca0644e9974f8d8959e4b.json new file mode 100644 index 0000000000..d6a28ade3c --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_69c631d2133ca0644e9974f8d8959e4b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_ENsyxKSQkG161ZZA5t38A4ns\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"mention\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"user\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"John\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYctGDrFgqfqpCkJet345INzBvh\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_b15519ede62f4cdd6439ab044fb497ac.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_b15519ede62f4cdd6439ab044fb497ac.json new file mode 100644 index 0000000000..7d31b3b215 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_b15519ede62f4cdd6439ab044fb497ac.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_T06DkeKksXWfgwkyHg3sZAF3\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"mention\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"user\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"John\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxMzvP7CL0jiMizQXiz5QLR01da\",\"object\":\"chat.completion.chunk\",\"created\":1742837572,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_9c0091d18c80f465d33a5002fe37eee0.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_9c0091d18c80f465d33a5002fe37eee0.json new file mode 100644 index 0000000000..f983d50a0c --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_9c0091d18c80f465d33a5002fe37eee0.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_KFghNbNe2NMGcH8QCnZpyqDi\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"true\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxOsIOauyzo3J0WmHKxpyHWZ6NX\",\"object\":\"chat.completion.chunk\",\"created\":1742837574,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_aca5b9c4101d93810ff5d2d06a67d00a.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_aca5b9c4101d93810ff5d2d06a67d00a.json new file mode 100644 index 0000000000..2615589977 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_aca5b9c4101d93810ff5d2d06a67d00a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_Hx58jIBAN0ChrQPX3wgJRCEW\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"true\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYePYaIVpcIuCav3eBg8w4ERvKe\",\"object\":\"chat.completion.chunk\",\"created\":1743024396,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, update mention prop_1_7263bee37047b5c4d3acf03898c3cb1d.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, update mention prop_1_7263bee37047b5c4d3acf03898c3cb1d.json new file mode 100644 index 0000000000..ea8a9a77ed --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, update mention prop_1_7263bee37047b5c4d3acf03898c3cb1d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_9nGHzlOzYgGgDQIFIrciqfmu\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"mention\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"user\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Jane\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"true\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxTVG0uaEpM5znOkF1WIMvFWK1j\",\"object\":\"chat.completion.chunk\",\"created\":1742837579,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, update mention prop_1_c4d8517a64319403b3224a18bf0e3d91.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, update mention prop_1_c4d8517a64319403b3224a18bf0e3d91.json new file mode 100644 index 0000000000..c908bdd168 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, update mention prop_1_c4d8517a64319403b3224a18bf0e3d91.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the mention to Jane Doe\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_bZ5OAKA23gSEMBN1qdCIsPO6\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Color\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"default\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"background\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Color\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"default\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Alignment\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"left\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"mention\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"user\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Jane\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"true\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYjnkRYmQTBbbDJ1DFLXvqf1zpX\",\"object\":\"chat.completion.chunk\",\"created\":1743024401,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block_1_48da30a3caeee16b27077166df27dd3b.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block_1_48da30a3caeee16b27077166df27dd3b.json new file mode 100644 index 0000000000..d0cdd9f33b --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block_1_48da30a3caeee16b27077166df27dd3b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_tq36aLz2craEGGdAWprNzuvY\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" updated\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxKWCSXVCCFBJAN52VUH6sDFWma\",\"object\":\"chat.completion.chunk\",\"created\":1742837570,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block_1_d31958012179cecbcb3bc2c4e702e9a2.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block_1_d31958012179cecbcb3bc2c4e702e9a2.json new file mode 100644 index 0000000000..39674654e3 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block_1_d31958012179cecbcb3bc2c4e702e9a2.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_nDSskH8TGRXNbnng5Pd9mSsi\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" updated\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYciOSjfdgsOvG7UB0BV18paCnS\",\"object\":\"chat.completion.chunk\",\"created\":1743024394,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark_1_372e8c65dd7aef186ff9a72a8d62cfe0.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark_1_372e8c65dd7aef186ff9a72a8d62cfe0.json new file mode 100644 index 0000000000..9459ccdaa9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark_1_372e8c65dd7aef186ff9a72a8d62cfe0.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_GvggoGXinNrlK0ttYGdUr1Ik\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"true\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxPs2lQsmakD049Zamp7FVSN7YJ\",\"object\":\"chat.completion.chunk\",\"created\":1742837575,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark_1_b8b3727e18b9f676ae4cf68788b4169d.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark_1_b8b3727e18b9f676ae4cf68788b4169d.json new file mode 100644 index 0000000000..d75975e470 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark_1_b8b3727e18b9f676ae4cf68788b4169d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_rKMj2xRhODq677m4R74m3gYz\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" \\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"true\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYf7Wfyn2J5XHpVF8pNiEPKdGpC\",\"object\":\"chat.completion.chunk\",\"created\":1743024397,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop and content_1_b3d77e99ef033ae34baef748edd2a7bb.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop and content_1_b3d77e99ef033ae34baef748edd2a7bb.json new file mode 100644 index 0000000000..d3af1cdc0a --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop and content_1_b3d77e99ef033ae34baef748edd2a7bb.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_RVGJm7jQ2Q5WRfui2873jCP0\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"What's\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" up\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"],\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Alignment\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"right\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYaWZD50kf7l3naRJ5oZhu1fwbh\",\"object\":\"chat.completion.chunk\",\"created\":1743024392,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop and content_1_bfc343e0796bc095f79ac8a33932c5c7.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop and content_1_bfc343e0796bc095f79ac8a33932c5c7.json new file mode 100644 index 0000000000..85920304cf --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop and content_1_bfc343e0796bc095f79ac8a33932c5c7.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_lDmFvzaWVfNI8U36Kkyc6U7A\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"What's\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" up\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"],\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Alignment\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"right\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxJikaDGeMxfFHqFGeJtM9xFxpZ\",\"object\":\"chat.completion.chunk\",\"created\":1742837569,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop_1_806b30428c843e34cb5a65fac87d0f8d.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop_1_806b30428c843e34cb5a65fac87d0f8d.json new file mode 100644 index 0000000000..e9f100e3e9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop_1_806b30428c843e34cb5a65fac87d0f8d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_mHkyuBcwegMP6Z0lstTZ9k8k\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Alignment\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"right\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxEfOxsEAAPO0TkAvQ1Br9toy5D\",\"object\":\"chat.completion.chunk\",\"created\":1742837564,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop_1_a7a36bddd00c8fd378990ec14e778af3.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop_1_a7a36bddd00c8fd378990ec14e778af3.json new file mode 100644 index 0000000000..1930c3321a --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block prop_1_a7a36bddd00c8fd378990ec14e778af3.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph right aligned\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_Lo4KHQlehWIwinklz6DjhmhV\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Alignment\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"right\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYWT7nUzod8VixhHCdy60zL9C8N\",\"object\":\"chat.completion.chunk\",\"created\":1743024388,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_1162da2d1315198cab76c459c162ef5a.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_1162da2d1315198cab76c459c162ef5a.json new file mode 100644 index 0000000000..d923fa45fb --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_1162da2d1315198cab76c459c162ef5a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_z9MQbjTOTLvKvsLorbWyXnn2\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"heading\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"What's\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" up\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"],\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"level\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYY3tGuUVfROUgIn6N8ob17MYQE\",\"object\":\"chat.completion.chunk\",\"created\":1743024390,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_8e67aacd7bd7174051eb89c4ef8c2155.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_8e67aacd7bd7174051eb89c4ef8c2155.json new file mode 100644 index 0000000000..31d849f96c --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_8e67aacd7bd7174051eb89c4ef8c2155.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_vRUURiUCm8IJIsWqF5sFSta7\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"heading\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"What's\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" up\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"],\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"level\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxGOYhitmLa1wNzGQMO2jVe8UeY\",\"object\":\"chat.completion.chunk\",\"created\":1742837566,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_084e1ca091378e1398b9ad104a18c463.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_084e1ca091378e1398b9ad104a18c463.json new file mode 100644 index 0000000000..84737bfd50 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_084e1ca091378e1398b9ad104a18c463.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_NX32L4k1PbgoJ44TqqNxNp1e\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"heading\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"],\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"level\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEfxCD1eN0ZpMbLUp8iQr3p2iSLqS\",\"object\":\"chat.completion.chunk\",\"created\":1742837562,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_5787b8ef35848cf0e5ba0e183ca14ff8.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_5787b8ef35848cf0e5ba0e183ca14ff8.json new file mode 100644 index 0000000000..c46187c0de --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_5787b8ef35848cf0e5ba0e183ca14ff8.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world!\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref2$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"mention\\\",\\\"props\\\":{\\\"user\\\":\\\"John Doe\\\"}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"! How \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"are you doing?\\\",\\\"styles\\\":{\\\"bold\\\":true}}],\\\"children\\\":[]},{\\\"id\\\":\\\"ref3$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello, world! \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text. \\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"link\\\",\\\"href\\\":\\\"https://www.google.com\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Link.\\\",\\\"styles\\\":{}}]}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"mention\"]},\"props\":{\"type\":\"object\",\"properties\":{\"user\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_FdQvgsghgzJmk3mZ1ThjOnRD\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"heading\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"],\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"level\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYVL4gB0V93jmctmQwhi7XciHbz\",\"object\":\"chat.completion.chunk\",\"created\":1743024387,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_de57b65c90\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes block type (paragraph -> heading)_1_734289463570fcb06287961d207d870f.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes block type (paragraph -> heading)_1_734289463570fcb06287961d207d870f.json new file mode 100644 index 0000000000..64af5422aa --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes block type (paragraph -> heading)_1_734289463570fcb06287961d207d870f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-6d233815-4ac6-4944-972c-de32b9842cb0\",\"object\":\"chat.completion\",\"created\":1743024468,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_gbv1\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": {\\\"type\\\": \\\"heading\\\", \\\"props\\\": {\\\"level\\\": 1}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":6.102621684,\"prompt_tokens\":1106,\"prompt_time\":0.185001034,\"completion_tokens\":59,\"completion_time\":0.214545455,\"total_tokens\":1165,\"total_time\":0.399546489},\"system_fingerprint\":\"fp_fcc3b74982\",\"x_groq\":{\"id\":\"req_01jqa5n6kcevwbxyhdcx4m1eck\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes block type (paragraph -> heading)_1_eb0928df1870ddb8356c7deb819490e3.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes block type (paragraph -> heading)_1_eb0928df1870ddb8356c7deb819490e3.json new file mode 100644 index 0000000000..15a739ed0a --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes block type (paragraph -> heading)_1_eb0928df1870ddb8356c7deb819490e3.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-d036aa6b-843d-4a60-af28-6d9c130ec94d\",\"object\":\"chat.completion\",\"created\":1742831991,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_ps5q\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": {\\\"type\\\": \\\"heading\\\", \\\"props\\\": {\\\"level\\\": 1}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10133316099999999,\"prompt_tokens\":1220,\"prompt_time\":0.090242633,\"completion_tokens\":59,\"completion_time\":0.214545455,\"total_tokens\":1279,\"total_time\":0.304788088},\"system_fingerprint\":\"fp_c4760ee73b\",\"x_groq\":{\"id\":\"req_01jq4e3f1zf2saxf3dz7nkmq24\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (paragraph)_1_ae5ac9e8590e03fa659b80a3a2d1b8f4.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (paragraph)_1_ae5ac9e8590e03fa659b80a3a2d1b8f4.json new file mode 100644 index 0000000000..873805790b --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (paragraph)_1_ae5ac9e8590e03fa659b80a3a2d1b8f4.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-4a6f04e0-1059-4551-a29c-f24b6ca90c55\",\"object\":\"chat.completion\",\"created\":1743024468,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_qk01\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello\\\", \\\"styles\\\": {\\\"bold\\\": true}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.7407051659999999,\"prompt_tokens\":1105,\"prompt_time\":0.148843911,\"completion_tokens\":57,\"completion_time\":0.207272727,\"total_tokens\":1162,\"total_time\":0.356116638},\"system_fingerprint\":\"fp_3884478861\",\"x_groq\":{\"id\":\"req_01jqa5nbggfsva18ddkbgm3zef\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (paragraph)_1_efbf165f581aec8176c8f175256d2237.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (paragraph)_1_efbf165f581aec8176c8f175256d2237.json new file mode 100644 index 0000000000..0d90a872f9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (paragraph)_1_efbf165f581aec8176c8f175256d2237.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-333a8116-fb32-46f7-8f11-5756085bc4ce\",\"object\":\"chat.completion\",\"created\":1742831992,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_73gv\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello\\\", \\\"styles\\\": {\\\"bold\\\": true}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10077185200000001,\"prompt_tokens\":1219,\"prompt_time\":0.086337296,\"completion_tokens\":57,\"completion_time\":0.207272727,\"total_tokens\":1276,\"total_time\":0.293610023},\"system_fingerprint\":\"fp_90c1d253ff\",\"x_groq\":{\"id\":\"req_01jq4e3fpsejdstykf2yn0dj1k\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (word)_1_d65a78ff7559ef9581ca888f64474926.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (word)_1_d65a78ff7559ef9581ca888f64474926.json new file mode 100644 index 0000000000..067c46a36a --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (word)_1_d65a78ff7559ef9581ca888f64474926.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello world\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first word to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-54c8da98-12fa-4477-a159-5c17bf122402\",\"object\":\"chat.completion\",\"created\":1742831993,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_dvny\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" world\\\",\\\"styles\\\":{}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10111422199999999,\"prompt_tokens\":1176,\"prompt_time\":0.083260654,\"completion_tokens\":57,\"completion_time\":0.207272727,\"total_tokens\":1233,\"total_time\":0.290533381},\"system_fingerprint\":\"fp_8dd9fca28c\",\"x_groq\":{\"id\":\"req_01jq4e3ge8f2vtt5zmf0fnwpfp\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (word)_1_edb25d924f0628eda240d4deeaf8ccc6.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (word)_1_edb25d924f0628eda240d4deeaf8ccc6.json new file mode 100644 index 0000000000..741381c1a3 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (word)_1_edb25d924f0628eda240d4deeaf8ccc6.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello world\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first word to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-4c203f51-9f40-46da-a809-592fada61c2b\",\"object\":\"chat.completion\",\"created\":1743024468,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_6s4d\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" world\\\",\\\"styles\\\":{}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10256454900000002,\"prompt_tokens\":1062,\"prompt_time\":0.080259983,\"completion_tokens\":57,\"completion_time\":0.207272727,\"total_tokens\":1119,\"total_time\":0.28753271},\"system_fingerprint\":\"fp_90c1d253ff\",\"x_groq\":{\"id\":\"req_01jqa5ncm8evzrr5rqd1mrkh2y\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/translates simple paragraphs_1_4c608efd0eb2751370fb87035374fd2f.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/translates simple paragraphs_1_4c608efd0eb2751370fb87035374fd2f.json new file mode 100644 index 0000000000..0ab097968c --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/translates simple paragraphs_1_4c608efd0eb2751370fb87035374fd2f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-051b1c8f-d844-4825-aab9-29201cbedfe0\",\"object\":\"chat.completion\",\"created\":1742831990,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_qg77\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hallo\\\", \\\"styles\\\": {}}]}}, {\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Welt\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10118516000000001,\"prompt_tokens\":1219,\"prompt_time\":0.093699398,\"completion_tokens\":102,\"completion_time\":0.370909091,\"total_tokens\":1321,\"total_time\":0.464608489},\"system_fingerprint\":\"fp_90c1d253ff\",\"x_groq\":{\"id\":\"req_01jq4e3dsrf2rbyvjn9v0yqp9z\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/translates simple paragraphs_1_af07e3e765c289be7340c288db29f87a.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/translates simple paragraphs_1_af07e3e765c289be7340c288db29f87a.json new file mode 100644 index 0000000000..2b382a2b90 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/translates simple paragraphs_1_af07e3e765c289be7340c288db29f87a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-ae7c107f-aef9-455d-9c64-ede4dd1bac55\",\"object\":\"chat.completion\",\"created\":1743024461,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_4xek\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hallo\\\", \\\"styles\\\": {}}]}}, {\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Welt\\\", \\\"styles\\\": {}}]}}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10054699,\"prompt_tokens\":1105,\"prompt_time\":0.079302014,\"completion_tokens\":102,\"completion_time\":0.370909091,\"total_tokens\":1207,\"total_time\":0.450211105},\"system_fingerprint\":\"fp_34555b7c20\",\"x_groq\":{\"id\":\"req_01jqa5n60jfgdtj33pv3cgn8dq\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes block type (paragraph -> heading)_1_2fb7b05feb9a680447e61d914cb7114d.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes block type (paragraph -> heading)_1_2fb7b05feb9a680447e61d914cb7114d.json new file mode 100644 index 0000000000..d258a47cf4 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes block type (paragraph -> heading)_1_2fb7b05feb9a680447e61d914cb7114d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-deccccbf-737d-4c06-a6fb-4472807b8ed8\",\"object\":\"chat.completion.chunk\",\"created\":1742832019,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4e49k7em1bdr07pkxm1fx1\"}}\n\ndata: {\"id\":\"chatcmpl-deccccbf-737d-4c06-a6fb-4472807b8ed8\",\"object\":\"chat.completion.chunk\",\"created\":1742832019,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_8k68\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": {\\\"type\\\": \\\"heading\\\", \\\"props\\\": {\\\"level\\\": 1}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-deccccbf-737d-4c06-a6fb-4472807b8ed8\",\"object\":\"chat.completion.chunk\",\"created\":1742832019,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4e49k7em1bdr07pkxm1fx1\",\"usage\":{\"queue_time\":0.10210154200000002,\"prompt_tokens\":1220,\"prompt_time\":0.086570764,\"completion_tokens\":59,\"completion_time\":0.214545455,\"total_tokens\":1279,\"total_time\":0.301116219}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes block type (paragraph -> heading)_1_d5cf54656e101620fb574ea580b3713d.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes block type (paragraph -> heading)_1_d5cf54656e101620fb574ea580b3713d.json new file mode 100644 index 0000000000..2e623eb015 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes block type (paragraph -> heading)_1_d5cf54656e101620fb574ea580b3713d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-8f9dc0e5-ece9-4b05-9189-5800e9368b8d\",\"object\":\"chat.completion.chunk\",\"created\":1743024447,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5mqtsevpbq1n5besj0m03\"}}\n\ndata: {\"id\":\"chatcmpl-8f9dc0e5-ece9-4b05-9189-5800e9368b8d\",\"object\":\"chat.completion.chunk\",\"created\":1743024447,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_2cp9\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": {\\\"type\\\": \\\"heading\\\", \\\"props\\\": {\\\"level\\\": 1}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-8f9dc0e5-ece9-4b05-9189-5800e9368b8d\",\"object\":\"chat.completion.chunk\",\"created\":1743024447,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5mqtsevpbq1n5besj0m03\",\"usage\":{\"queue_time\":0.09945562500000002,\"prompt_tokens\":1106,\"prompt_time\":0.10249043,\"completion_tokens\":59,\"completion_time\":0.214545455,\"total_tokens\":1165,\"total_time\":0.317035885}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (paragraph)_1_7bfd349b1b5457d69c7157dd35f319f9.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (paragraph)_1_7bfd349b1b5457d69c7157dd35f319f9.json new file mode 100644 index 0000000000..e2ebe61056 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (paragraph)_1_7bfd349b1b5457d69c7157dd35f319f9.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-da591da2-103b-48fc-89e9-bc2c0c3829ad\",\"object\":\"chat.completion.chunk\",\"created\":1743024447,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5mra6evpvjep190cx71rn\"}}\n\ndata: {\"id\":\"chatcmpl-da591da2-103b-48fc-89e9-bc2c0c3829ad\",\"object\":\"chat.completion.chunk\",\"created\":1743024448,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_t6zy\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello\\\", \\\"styles\\\": {\\\"bold\\\": true}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-da591da2-103b-48fc-89e9-bc2c0c3829ad\",\"object\":\"chat.completion.chunk\",\"created\":1743024448,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5mra6evpvjep190cx71rn\",\"usage\":{\"queue_time\":0.10271153999999999,\"prompt_tokens\":1105,\"prompt_time\":0.084419085,\"completion_tokens\":58,\"completion_time\":0.210909091,\"total_tokens\":1163,\"total_time\":0.295328176}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (paragraph)_1_efd36f5b40f473dfd2eb537da0259fe3.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (paragraph)_1_efd36f5b40f473dfd2eb537da0259fe3.json new file mode 100644 index 0000000000..89941c9d4e --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (paragraph)_1_efd36f5b40f473dfd2eb537da0259fe3.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-a4b29c7e-ab2e-4053-b9e1-5c305dfb4088\",\"object\":\"chat.completion.chunk\",\"created\":1742832019,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4e4a8je0jtmj5mzy5avxe2\"}}\n\ndata: {\"id\":\"chatcmpl-a4b29c7e-ab2e-4053-b9e1-5c305dfb4088\",\"object\":\"chat.completion.chunk\",\"created\":1742832020,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_atwn\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hello\\\", \\\"styles\\\": {\\\"bold\\\": true}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-a4b29c7e-ab2e-4053-b9e1-5c305dfb4088\",\"object\":\"chat.completion.chunk\",\"created\":1742832020,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4e4a8je0jtmj5mzy5avxe2\",\"usage\":{\"queue_time\":0.130077693,\"prompt_tokens\":1219,\"prompt_time\":0.086671721,\"completion_tokens\":57,\"completion_time\":0.207272727,\"total_tokens\":1276,\"total_time\":0.293944448}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (word)_1_1ca2bc75c520f802b72600de4d16ad6d.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (word)_1_1ca2bc75c520f802b72600de4d16ad6d.json new file mode 100644 index 0000000000..24382842ba --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (word)_1_1ca2bc75c520f802b72600de4d16ad6d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello world\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first word to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-11600056-23d9-4182-a762-17b88206b28a\",\"object\":\"chat.completion.chunk\",\"created\":1743024448,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5mrqxevqbv3fz4vcmqc65\"}}\n\ndata: {\"id\":\"chatcmpl-11600056-23d9-4182-a762-17b88206b28a\",\"object\":\"chat.completion.chunk\",\"created\":1743024448,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_pvym\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" world\\\",\\\"styles\\\":{}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-11600056-23d9-4182-a762-17b88206b28a\",\"object\":\"chat.completion.chunk\",\"created\":1743024448,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5mrqxevqbv3fz4vcmqc65\",\"usage\":{\"queue_time\":0.107885802,\"prompt_tokens\":1062,\"prompt_time\":0.075850843,\"completion_tokens\":57,\"completion_time\":0.207272727,\"total_tokens\":1119,\"total_time\":0.28312357}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (word)_1_9ab6ea70a6bdd7d54b8ee3268e395e29.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (word)_1_9ab6ea70a6bdd7d54b8ee3268e395e29.json new file mode 100644 index 0000000000..d3da16d941 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (word)_1_9ab6ea70a6bdd7d54b8ee3268e395e29.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello world\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first word to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-579e2cb1-ea21-45b9-a6e2-12087e04a26d\",\"object\":\"chat.completion.chunk\",\"created\":1742832020,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4e4b0tem2t2tyq45w4sm65\"}}\n\ndata: {\"id\":\"chatcmpl-579e2cb1-ea21-45b9-a6e2-12087e04a26d\",\"object\":\"chat.completion.chunk\",\"created\":1742832020,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_ysd6\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" world\\\",\\\"styles\\\":{}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-579e2cb1-ea21-45b9-a6e2-12087e04a26d\",\"object\":\"chat.completion.chunk\",\"created\":1742832020,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4e4b0tem2t2tyq45w4sm65\",\"usage\":{\"queue_time\":0.102125676,\"prompt_tokens\":1176,\"prompt_time\":0.091100342,\"completion_tokens\":57,\"completion_time\":0.207272727,\"total_tokens\":1233,\"total_time\":0.298373069}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/translates simple paragraphs_1_15f878bec801eba951e0053897b778d7.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/translates simple paragraphs_1_15f878bec801eba951e0053897b778d7.json new file mode 100644 index 0000000000..b9310b3473 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/translates simple paragraphs_1_15f878bec801eba951e0053897b778d7.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-a3b982e9-a035-422f-8ac5-0490761a77fa\",\"object\":\"chat.completion.chunk\",\"created\":1743024446,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jqa5mq89evp8zh075evxf3cx\"}}\n\ndata: {\"id\":\"chatcmpl-a3b982e9-a035-422f-8ac5-0490761a77fa\",\"object\":\"chat.completion.chunk\",\"created\":1743024447,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_cnxz\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hallo\\\", \\\"styles\\\": {}}]}}, {\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Welt\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-a3b982e9-a035-422f-8ac5-0490761a77fa\",\"object\":\"chat.completion.chunk\",\"created\":1743024447,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_8dd9fca28c\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jqa5mq89evp8zh075evxf3cx\",\"usage\":{\"queue_time\":0.10017536399999999,\"prompt_tokens\":1105,\"prompt_time\":0.078397034,\"completion_tokens\":102,\"completion_time\":0.370909091,\"total_tokens\":1207,\"total_time\":0.449306125}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/translates simple paragraphs_1_76a6026a80045b9b8db3e51557d6680d.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/translates simple paragraphs_1_76a6026a80045b9b8db3e51557d6680d.json new file mode 100644 index 0000000000..c2f9c070a0 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/translates simple paragraphs_1_76a6026a80045b9b8db3e51557d6680d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-10dd23f9-b199-4e9a-99c0-ea93dd30ffc7\",\"object\":\"chat.completion.chunk\",\"created\":1742832017,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq4e481ee0hb88b0hw40c0x5\"}}\n\ndata: {\"id\":\"chatcmpl-10dd23f9-b199-4e9a-99c0-ea93dd30ffc7\",\"object\":\"chat.completion.chunk\",\"created\":1742832017,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_2j91\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Hallo\\\", \\\"styles\\\": {}}]}}, {\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"1$\\\", \\\"block\\\": {\\\"type\\\": \\\"paragraph\\\", \\\"props\\\": {}, \\\"content\\\": [{\\\"type\\\": \\\"text\\\", \\\"text\\\": \\\"Welt\\\", \\\"styles\\\": {}}]}}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-10dd23f9-b199-4e9a-99c0-ea93dd30ffc7\",\"object\":\"chat.completion.chunk\",\"created\":1742832017,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq4e481ee0hb88b0hw40c0x5\",\"usage\":{\"queue_time\":0.101375873,\"prompt_tokens\":1219,\"prompt_time\":0.087391309,\"completion_tokens\":102,\"completion_time\":0.370909091,\"total_tokens\":1321,\"total_time\":0.4583004}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes block type (paragraph -> heading)_1_133a3b9af303437cc1597a7c587ce188.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes block type (paragraph -> heading)_1_133a3b9af303437cc1597a7c587ce188.json new file mode 100644 index 0000000000..ec5f758fab --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes block type (paragraph -> heading)_1_133a3b9af303437cc1597a7c587ce188.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSYr9JRdSGIbYAqc7GA7rmDjmsOo\",\n \"object\": \"chat.completion\",\n \"created\": 1743024409,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_RV1yEymDTkfk5cJsFiRNfegv\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":{\\\"type\\\":\\\"heading\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"props\\\":{\\\"level\\\":1}}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 688,\n \"completion_tokens\": 44,\n \"total_tokens\": 732,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_4ecdfc8cdc\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes block type (paragraph -> heading)_1_6c758ed1459d6b5d4861110f89a9959a.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes block type (paragraph -> heading)_1_6c758ed1459d6b5d4861110f89a9959a.json new file mode 100644 index 0000000000..74a0409c69 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes block type (paragraph -> heading)_1_6c758ed1459d6b5d4861110f89a9959a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEeATPi7DmNqMpKNkGxG4eGn7Ql9w\",\n \"object\": \"chat.completion\",\n \"created\": 1742830697,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_lQwMWpAHbsBdNpX7AGzQwuCG\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":{\\\"type\\\":\\\"heading\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"props\\\":{\\\"level\\\":1}}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1096,\n \"completion_tokens\": 44,\n \"total_tokens\": 1140,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_83df987f64\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (paragraph)_1_d8d489444ed28af56900134eccc1ccab.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (paragraph)_1_d8d489444ed28af56900134eccc1ccab.json new file mode 100644 index 0000000000..3bf45b1778 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (paragraph)_1_d8d489444ed28af56900134eccc1ccab.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSYsAeP5bKvlpxLzc9MYvu8hQ9ve\",\n \"object\": \"chat.completion\",\n \"created\": 1743024410,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_GQeWL3PPt5WDxPEulV0FYzlB\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{\\\"bold\\\":true}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 687,\n \"completion_tokens\": 40,\n \"total_tokens\": 727,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (paragraph)_1_fa0f4aedeaf9181a5fff03af24a048a0.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (paragraph)_1_fa0f4aedeaf9181a5fff03af24a048a0.json new file mode 100644 index 0000000000..12b2b429bb --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (paragraph)_1_fa0f4aedeaf9181a5fff03af24a048a0.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEeAVx9wmIgWp3H2bOviugbcuxdgT\",\n \"object\": \"chat.completion\",\n \"created\": 1742830699,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_Hk0WArcWvoNJjHYCJp78n6Gm\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{\\\"bold\\\":true}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1095,\n \"completion_tokens\": 40,\n \"total_tokens\": 1135,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 1024,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_eb9dce56a8\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (word)_1_1f2b95d261b3a1e7c375df0da0889606.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (word)_1_1f2b95d261b3a1e7c375df0da0889606.json new file mode 100644 index 0000000000..d73f16b688 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (word)_1_1f2b95d261b3a1e7c375df0da0889606.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello world\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first word to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEeAX9d5ERhuX6DDer1WAZeLqJsde\",\n \"object\": \"chat.completion\",\n \"created\": 1742830701,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_dh2pF7asICJjG3UpMaRXufgX\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" world\\\",\\\"styles\\\":{}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1050,\n \"completion_tokens\": 53,\n \"total_tokens\": 1103,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_eb9dce56a8\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (word)_1_b679845fcf0a2cd39422d37fa6ebed87.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (word)_1_b679845fcf0a2cd39422d37fa6ebed87.json new file mode 100644 index 0000000000..a9550b8db2 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (word)_1_b679845fcf0a2cd39422d37fa6ebed87.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello world\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first word to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSYuyyousrYRXdabOnAOXom7cgWa\",\n \"object\": \"chat.completion\",\n \"created\": 1743024412,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_btWcHkauGDP7OqS5l74FYa2H\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" world\\\",\\\"styles\\\":{}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 642,\n \"completion_tokens\": 53,\n \"total_tokens\": 695,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates paragraph with formatting_1_d7de08d5849e21ac18fafb6c024fda9f.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates paragraph with formatting_1_d7de08d5849e21ac18fafb6c024fda9f.json new file mode 100644 index 0000000000..01b36ce055 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates paragraph with formatting_1_d7de08d5849e21ac18fafb6c024fda9f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello world, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"this is some bold\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and some \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" colored text\\\",\\\"styles\\\":{\\\"textColor\\\":\\\"red\\\"}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"translate to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFhX9xSPWwNgS46LP5Hafs97Q1K5I\",\n \"object\": \"chat.completion\",\n \"created\": 1743081963,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_Os1DMQoaNNU92RtVBVpJ1Fmq\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hallo Welt, \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"das ist etwas Fettgedrucktes\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" und etwas \\\",\\\"styles\\\":{}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" farbiger Text\\\",\\\"styles\\\":{\\\"textColor\\\":\\\"red\\\"}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 688,\n \"completion_tokens\": 110,\n \"total_tokens\": 798,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates simple paragraphs_1_3576c63823dc560630adb2ad628a9644.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates simple paragraphs_1_3576c63823dc560630adb2ad628a9644.json new file mode 100644 index 0000000000..e8a7487bac --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates simple paragraphs_1_3576c63823dc560630adb2ad628a9644.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BEeARdBQB5cdqFaIhbYQUUnKRNCG9\",\n \"object\": \"chat.completion\",\n \"created\": 1742830695,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_qwbkUYNQfBCAXqjQI5zpB0iB\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hallo\\\",\\\"styles\\\":{}}]}},{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"1$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Welt\\\",\\\"styles\\\":{}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1095,\n \"completion_tokens\": 71,\n \"total_tokens\": 1166,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 1024,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_eb9dce56a8\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates simple paragraphs_1_52269e16358f055dc0540870d78e1d47.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates simple paragraphs_1_52269e16358f055dc0540870d78e1d47.json new file mode 100644 index 0000000000..fb896ffe43 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates simple paragraphs_1_52269e16358f055dc0540870d78e1d47.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFSYqRl86y5Js6dxNMy7BDW9RosYa\",\n \"object\": \"chat.completion\",\n \"created\": 1743024408,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_S5GPszjDTJcWrEXNZ7WunVPA\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hallo\\\",\\\"styles\\\":{}}]}},{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"1$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Welt\\\",\\\"styles\\\":{}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 687,\n \"completion_tokens\": 71,\n \"total_tokens\": 758,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates simple paragraphs_1_7cd169c0dd9559f09e810453ae29daed.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates simple paragraphs_1_7cd169c0dd9559f09e810453ae29daed.json new file mode 100644 index 0000000000..8594793ce9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates simple paragraphs_1_7cd169c0dd9559f09e810453ae29daed.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Add a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFLTvAwrx6Di8UJkmcT8K0LUPV5C8\",\n \"object\": \"chat.completion\",\n \"created\": 1742997195,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_Cd46uNx7My4tFZTkSkC2Xw2X\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hallo\\\",\\\"styles\\\":{}}]}},{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"1$\\\",\\\"block\\\":{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Welt\\\",\\\"styles\\\":{}}]}}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 1086,\n \"completion_tokens\": 107,\n \"total_tokens\": 1193,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_4ecdfc8cdc\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes block type (paragraph -> heading)_1_53a81a263f6fb1eccb980cc1be96a004.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes block type (paragraph -> heading)_1_53a81a263f6fb1eccb980cc1be96a004.json new file mode 100644 index 0000000000..44f0a77b9e --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes block type (paragraph -> heading)_1_53a81a263f6fb1eccb980cc1be96a004.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_n5qdODRO38FCsHpi3uo0JfMb\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"heading\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"],\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"level\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6w03E4ZASHRYGtSwIwTTYSxiSi\",\"object\":\"chat.completion.chunk\",\"created\":1742830478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes block type (paragraph -> heading)_1_f96deafa34b0601f5935ac17ba659ef0.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes block type (paragraph -> heading)_1_f96deafa34b0601f5935ac17ba659ef0.json new file mode 100644 index 0000000000..2c1a1b391d --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes block type (paragraph -> heading)_1_f96deafa34b0601f5935ac17ba659ef0.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_WDi8UERXuMozb1gVDc7fcYiH\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"heading\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"],\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"props\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"level\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYR8T4YjY4KYw0QTj6xBPmZCavT\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (paragraph)_1_162aafac3c9a5cfc8b48bdd6ac5cd9a6.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (paragraph)_1_162aafac3c9a5cfc8b48bdd6ac5cd9a6.json new file mode 100644 index 0000000000..2179d8eb2e --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (paragraph)_1_162aafac3c9a5cfc8b48bdd6ac5cd9a6.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_LpzFi6hnkRofHpXIpTzYpRmD\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"true\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYRm6OIiN70fmoLgrvcBZhWgUYI\",\"object\":\"chat.completion.chunk\",\"created\":1743024383,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (paragraph)_1_d77c2fd0f1d16dcb0e5bdc2294067961.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (paragraph)_1_d77c2fd0f1d16dcb0e5bdc2294067961.json new file mode 100644 index 0000000000..5bb5023e3a --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (paragraph)_1_d77c2fd0f1d16dcb0e5bdc2294067961.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first paragraph to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_iQOCLhDvo66dzLUZ7OukprT6\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"true\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6yziEyajWkhGq6jW0146YcU5Lp\",\"object\":\"chat.completion.chunk\",\"created\":1742830480,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (word)_1_853592a67e232ecb6cc02018d6f980e0.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (word)_1_853592a67e232ecb6cc02018d6f980e0.json new file mode 100644 index 0000000000..ecc14fa09c --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (word)_1_853592a67e232ecb6cc02018d6f980e0.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello world\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first word to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_Tdg9SUjViZRXPDY3iA5LLsvE\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"true\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}},\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe71a7vu1cJctX3iPqnHgKo1xgit\",\"object\":\"chat.completion.chunk\",\"created\":1742830483,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_6ec83003ad\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (word)_1_dcf4b9b0862859cf085ec6929cb56f60.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (word)_1_dcf4b9b0862859cf085ec6929cb56f60.json new file mode 100644 index 0000000000..f13defe91b --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (word)_1_dcf4b9b0862859cf085ec6929cb56f60.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello world\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"change first word to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_OHevXXfEAf2ve7Hl5ij82pBn\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"true\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}},\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYTOI3745p91HpCoMqBcpD6mjna\",\"object\":\"chat.completion.chunk\",\"created\":1743024385,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_1b00194e073df29c3374b58ff88b2b3d.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_1b00194e073df29c3374b58ff88b2b3d.json new file mode 100644 index 0000000000..1aca5fe5e4 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_1b00194e073df29c3374b58ff88b2b3d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_Qm4Y0nu5j36tFt3BTY8y1ijC\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hallo\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"W\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"elt\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BEe6uXmQsvHg3RLLMU9D50E4iCZf3\",\"object\":\"chat.completion.chunk\",\"created\":1742830476,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_eb9dce56a8\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_59d6b330c015ffe543b43b0e1e37c4c7.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_59d6b330c015ffe543b43b0e1e37c4c7.json new file mode 100644 index 0000000000..4273b918bf --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_59d6b330c015ffe543b43b0e1e37c4c7.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Add a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_QtXSS7T4ggPR2WYLNgtWTCqM\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hallo\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"W\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"elt\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFLTo2Hxh6qZDczVVTY2cTtPZV78C\",\"object\":\"chat.completion.chunk\",\"created\":1742997188,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_4ecdfc8cdc\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_80fe59b49997e278ea0f7891d9ad42f2.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_80fe59b49997e278ea0f7891d9ad42f2.json new file mode 100644 index 0000000000..5075ded543 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_80fe59b49997e278ea0f7891d9ad42f2.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"quote\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_U24bxKanOzLJByuuMtr2vkdI\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hallo\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"paragraph\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"W\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"elt\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"styles\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFSYPhNCmsZp6LBKhRbcGeUmbYKX6\",\"object\":\"chat.completion.chunk\",\"created\":1743024381,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_cbff9f62f99aecfc4d685e098a0768fc.json b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_cbff9f62f99aecfc4d685e098a0768fc.json new file mode 100644 index 0000000000..52390705fe --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/__snapshots__/json.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_cbff9f62f99aecfc4d685e098a0768fc.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Hello\\\",\\\"styles\\\":{}}],\\\"children\\\":[]},{\\\"id\\\":\\\"1$\\\",\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{\\\"textColor\\\":\\\"default\\\",\\\"backgroundColor\\\":\\\"default\\\",\\\"textAlignment\\\":\\\"left\\\"},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"World\\\",\\\"styles\\\":{}}],\\\"children\\\":[]}]\"},{\"role\":\"system\",\"content\":\"This would be an example block: \\n{\\\"type\\\":\\\"paragraph\\\",\\\"props\\\":{},\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Bold text\\\",\\\"styles\\\":{\\\"bold\\\":true}},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\" and italic text\\\",\\\"styles\\\":{\\\"italic\\\":true}}]}\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Add a block\",\"properties\":{\"type\":\"object\",\"properties\":{\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"referenceId\",\"position\",\"blocks\"]},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Update a block\",\"properties\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"id\",\"block\"]},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"id\"]},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"styles\":{\"type\":\"object\",\"properties\":{\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"strike\":{\"type\":\"boolean\"},\"code\":{\"type\":\"boolean\"},\"textColor\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"}},\"additionalProperties\":false},\"styledtext\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"text\"]},\"text\":{\"type\":\"string\"},\"styles\":{\"$ref\":\"#/$defs/styles\"}},\"additionalProperties\":false,\"required\":[\"type\",\"text\"]},\"inlinecontent\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/$defs/styledtext\"},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"link\"]},\"content\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/styledtext\"}},\"href\":{\"type\":\"string\"}},\"additionalProperties\":false,\"required\":[\"type\",\"href\",\"content\"]}]}},\"block\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"paragraph\",\"bulletListItem\",\"numberedListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"heading\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"enum\":[1,2,3]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"codeBlock\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"language\":{\"type\":\"string\",\"enum\":[\"text\",\"c\",\"cpp\",\"css\",\"glsl\",\"graphql\",\"haml\",\"html\",\"java\",\"javascript\",\"json\",\"jsonc\",\"jsonl\",\"jsx\",\"julia\",\"less\",\"markdown\",\"mdx\",\"php\",\"postcss\",\"pug\",\"python\",\"r\",\"regexp\",\"sass\",\"scss\",\"shellscript\",\"sql\",\"svelte\",\"typescript\",\"vue\",\"vue-html\",\"wasm\",\"wgsl\",\"xml\",\"yaml\",\"tsx\",\"haskell\",\"csharp\",\"latex\",\"lua\",\"mermaid\",\"ruby\",\"rust\",\"scala\",\"swift\",\"kotlin\",\"objective-c\"]}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"checkListItem\"]},\"content\":{\"$ref\":\"#/$defs/inlinecontent\"},\"props\":{\"type\":\"object\",\"properties\":{\"checked\":{\"type\":\"boolean\"}},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]},{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"table\"]},\"content\":{\"type\":\"object\",\"properties\":{}},\"props\":{\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}},\"additionalProperties\":false,\"required\":[\"type\"]}]}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\n \"error\": {\n \"message\": \"Invalid schema for function 'json': ['referenceId', 'position', 'blocks'] is not of type 'object', 'boolean'.\",\n \"type\": \"invalid_request_error\",\n \"param\": \"tools[0].function.parameters\",\n \"code\": \"invalid_function_parameters\"\n }\n}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/checks.test.ts b/packages/xl-ai/src/api/formats/json/checks.test.ts new file mode 100644 index 0000000000..b63ca0036a --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/checks.test.ts @@ -0,0 +1,114 @@ +import { afterAll, afterEach, beforeAll, describe, expect, it } from "vitest"; + +import { createOpenAI } from "@ai-sdk/openai"; +import { BlockNoteEditor } from "@blocknote/core"; +import { HttpResponse, http } from "msw"; +import { setupServer } from "msw/node"; +import { createBlockNoteAIClient } from "../../blocknoteAIClient/client.js"; +import { callLLM } from "./json.js"; + +// Create client and models outside of test suites so they can be shared +const client = createBlockNoteAIClient({ + baseURL: "https://localhost:3000/ai", + apiKey: "PLACEHOLDER", +}); + +const openai = createOpenAI({ + ...client.getProviderSettings("openai"), +})("gpt-4o-2024-08-06", {}); + +describe("Test environment", () => { + // doesn't appear to be needed + // it("should be running correct node version", () => { + // expect(process.version).toBe("v20.11.0"); + // }); + + it("should have certs installed to connect to localhost", () => { + expect(process.env.NODE_EXTRA_CA_CERTS).toBeDefined(); + + /* if this test fails, maybe you're running tests via vscode extension? + + You'll need: + + "vitest.nodeEnv": { + "NODE_EXTRA_CA_CERTS": "/Users/USERNAME/Library/Application Support/mkcert/rootCA.pem" + } + + in your vscode settings (or other path to mkcert rootCA.pem) + */ + }); +}); + +// Separate test suite for error handling with its own server +describe("Error handling", () => { + // Create a separate server for error tests with custom handlers + const errorServer = setupServer(); + + beforeAll(() => { + errorServer.listen(); + }); + + afterAll(() => { + errorServer.close(); + }); + + afterEach(() => { + errorServer.resetHandlers(); + }); + + it("handles 429 Too Many Requests error", async () => { + // Set up handler for this specific test + errorServer.use( + http.post("*", () => { + return new HttpResponse( + JSON.stringify({ + error: { + message: "Rate limit exceeded, please try again later", + type: "rate_limit_exceeded", + code: "rate_limit_exceeded", + }, + }), + { + status: 429, + headers: { + "Content-Type": "application/json", + }, + } + ); + }) + ); + + const editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "paragraph", + content: "Hello world", + }, + ], + }); + + // Use a flag to track if an error was thrown + let errorThrown = false; + let caughtError: any = null; + + try { + const result = await callLLM(editor, { + stream: true, + userPrompt: "translate to Spanish", + model: openai, + maxRetries: 0, + }); + await result.apply(); + } catch (error: any) { + errorThrown = true; + caughtError = error; + } + + // Assertions outside the try/catch + expect(errorThrown).toBe(true); + expect(caughtError).toBeDefined(); + expect(caughtError.message || caughtError.toString()).toContain( + "Rate limit exceeded, please try again later" + ); + }); +}); diff --git a/packages/xl-ai/src/api/formats/json/json.test.ts b/packages/xl-ai/src/api/formats/json/json.test.ts new file mode 100644 index 0000000000..c542d7b7ef --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/json.test.ts @@ -0,0 +1,124 @@ +import { afterAll, afterEach, beforeAll, describe } from "vitest"; + +import { getCurrentTest } from "@vitest/runner"; +import { getSortedEntries, snapshot, toHashString } from "msw-snapshot"; +import { setupServer } from "msw/node"; +import path from "path"; +import { generateSharedTestCases } from "../tests/sharedTestCases.js"; + +import { testAIModels } from "../../../testUtil/testAIModels.js"; +import { callLLM } from "./json.js"; + +const BASE_FILE_PATH = path.resolve( + __dirname, + "__snapshots__", + path.basename(__filename), +); + +const fetchCountMap: Record = {}; + +async function createRequestHash(req: Request) { + const url = new URL(req.url); + return [ + // url.host, + // url.pathname, + toHashString([ + req.method, + url.origin, + url.pathname, + getSortedEntries(url.searchParams), + getSortedEntries(req.headers), + // getSortedEntries(req.cookies), + new TextDecoder("utf-8").decode(await req.arrayBuffer()), + ]), + ].join("/"); +} + +// Main test suite with snapshot middleware +describe("Models", () => { + // Define server with snapshot middleware for the main tests + const server = setupServer( + snapshot({ + updateSnapshots: "missing", + // updateSnapshots: "all", + // ignoreSnapshots: true, + async createSnapshotPath(info) { + // use a unique path for each model + const t = getCurrentTest()!; + const mswPath = path.join( + t.suite!.name, // same directory as the test snapshot + "__msw_snapshots__", + t.suite!.suite!.name, // model / streaming params + t.name, + ); + // in case there are multiple requests in a test, we need to use a separate snapshot for each request + fetchCountMap[mswPath] = (fetchCountMap[mswPath] || 0) + 1; + const hash = await createRequestHash(info.request); + return mswPath + `_${fetchCountMap[mswPath]}_${hash}.json`; + }, + basePath: BASE_FILE_PATH, + // onFetchFromSnapshot(info, snapshot) { + // console.log("onFetchFromSnapshot", info, snapshot); + // }, + // onFetchFromServer(info, snapshot) { + // console.log("onFetchFromServer", info, snapshot); + // }, + }), + ); + + beforeAll(() => { + server.listen(); + }); + + afterAll(() => { + server.close(); + }); + + afterEach(() => { + delete (window as Window & { __TEST_OPTIONS?: any }).__TEST_OPTIONS; + }); + + const testMatrix = [ + { + model: testAIModels.openai, + stream: true, + }, + { + model: testAIModels.openai, + stream: false, + }, + { + model: testAIModels.groq, + stream: true, + }, + { + model: testAIModels.groq, + stream: false, + }, + // this model doesn't work well with json format + // { + // model: albert, + // stream: true, + // }, + // { + // model: albert, + // stream: false, + // }, + ]; + + for (const params of testMatrix) { + describe(`${params.model.provider}/${params.model.modelId} (${ + params.stream ? "streaming" : "non-streaming" + })`, () => { + generateSharedTestCases((editor, options) => + callLLM(editor, { + ...options, + stream: params.stream, + model: params.model, + maxRetries: 0, + withDelays: false, + }), + ); + }); + } +}); diff --git a/packages/xl-ai/src/api/formats/json/json.ts b/packages/xl-ai/src/api/formats/json/json.ts new file mode 100644 index 0000000000..01ddd02975 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/json.ts @@ -0,0 +1,198 @@ +import { Block, BlockNoteEditor } from "@blocknote/core"; +import { generateObject, streamObject } from "ai"; +import type { PromptOrMessages } from "../../index.js"; +import { + generateOperations, + LLMRequestOptions, + streamOperations, +} from "../../streamTool/callLLMWithStreamTools.js"; +import { StreamTool } from "../../streamTool/streamTool.js"; +import { isEmptyParagraph } from "../../util/emptyBlock.js"; +import { + getDataForPromptNoSelection, + getDataForPromptWithSelection, +} from "./jsonPromptData.js"; + +import { + promptManipulateDocumentUseJSONBlocks, + promptManipulateSelectionJSONBlocks, +} from "../../prompts/jsonSchemaPrompts.js"; +import { CallLLMResult } from "../CallLLMResult.js"; +import { tools } from "./tools/index.js"; + +// TODO: merge this file with htmlBlocks.ts + +async function getMessages( + editor: BlockNoteEditor, + opts: { + selectedBlocks?: Block[]; + excludeBlockIds?: string[]; + } & PromptOrMessages, +) { + // TODO: child blocks + // TODO: document how to customize prompt + if ("messages" in opts && opts.messages) { + return opts.messages; + } else if (opts.selectedBlocks) { + if (opts.excludeBlockIds) { + throw new Error( + "expected excludeBlockIds to be false when selectedBlocks is provided", + ); + } + return promptManipulateSelectionJSONBlocks({ + ...(await getDataForPromptWithSelection(editor, opts.selectedBlocks)), + userPrompt: opts.userPrompt, + }); + } else { + if (opts.useSelection) { + throw new Error( + "expected useSelection to be false when selectedBlocks is not provided", + ); + } + return promptManipulateDocumentUseJSONBlocks({ + ...(await getDataForPromptNoSelection(editor, { + excludeBlockIds: opts.excludeBlockIds, + })), + userPrompt: opts.userPrompt, + }); + } +} + +function getStreamTools( + editor: BlockNoteEditor, + withDelays: boolean, + defaultStreamTools?: { + /** Enable the add tool (default: true) */ + add?: boolean; + /** Enable the update tool (default: true) */ + update?: boolean; + /** Enable the delete tool (default: true) */ + delete?: boolean; + }, + selectionInfo?: { + from: number; + to: number; + }, +) { + const mergedStreamTools = { + add: true, + update: true, + delete: true, + ...defaultStreamTools, + }; + + const streamTools: StreamTool[] = [ + ...(mergedStreamTools.update + ? [ + tools.update(editor, { + idsSuffixed: true, + withDelays, + updateSelection: selectionInfo, + }), + ] + : []), + ...(mergedStreamTools.add + ? [tools.add(editor, { idsSuffixed: true, withDelays })] + : []), + ...(mergedStreamTools.delete + ? [tools.delete(editor, { idsSuffixed: true, withDelays })] + : []), + ]; + + return streamTools; +} + +export async function callLLM( + editor: BlockNoteEditor, + opts: Omit & + PromptOrMessages & { + defaultStreamTools?: { + /** Enable the add tool (default: true) */ + add?: boolean; + /** Enable the update tool (default: true) */ + update?: boolean; + /** Enable the delete tool (default: true) */ + delete?: boolean; + }; + stream?: boolean; + deleteEmptyCursorBlock?: boolean; + onStart?: () => void; + withDelays?: boolean; + _generateObjectOptions?: Partial< + Parameters>[0] + >; + _streamObjectOptions?: Partial>[0]>; + }, +): Promise { + const { + userPrompt: prompt, + useSelection, + deleteEmptyCursorBlock, + stream, + onStart, + withDelays, + ...rest + } = { + deleteEmptyCursorBlock: true, + stream: true, + withDelays: true, + ...opts, + }; + + const cursorBlock = useSelection + ? undefined + : editor.getTextCursorPosition().block; + + const deleteCursorBlock: string | undefined = + cursorBlock && deleteEmptyCursorBlock && isEmptyParagraph(cursorBlock) + ? cursorBlock.id + : undefined; + + const selectionInfo = useSelection ? editor.getSelection2() : undefined; + + const messages = await getMessages(editor, { + ...opts, + selectedBlocks: selectionInfo?.blocks, + excludeBlockIds: deleteCursorBlock ? [deleteCursorBlock] : undefined, + }); + + const streamTools = getStreamTools( + editor, + withDelays, + opts.defaultStreamTools, + selectionInfo + ? { from: selectionInfo._meta.startPos, to: selectionInfo._meta.endPos } + : undefined, + ); + + let response: + | Awaited>> + | Awaited>>; + + if (stream || stream === undefined) { + response = await streamOperations( + streamTools, + { + messages, + ...rest, + }, + () => { + if (deleteCursorBlock) { + editor.removeBlocks([deleteCursorBlock]); + } + onStart?.(); + }, + ); + } else { + response = await generateOperations(streamTools, { + messages, + ...rest, + }); + if (deleteCursorBlock) { + editor.removeBlocks([deleteCursorBlock]); + } + onStart?.(); + } + + return new CallLLMResult(response, streamTools); +} diff --git a/packages/xl-ai/src/api/formats/json/jsonPromptData.ts b/packages/xl-ai/src/api/formats/json/jsonPromptData.ts new file mode 100644 index 0000000000..da20e2bcd3 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/jsonPromptData.ts @@ -0,0 +1,40 @@ +import { + Block, + BlockNoteEditor +} from "@blocknote/core"; +import { addCursorPosition } from "../../prompts/promptHelpers/addCursorPosition.js"; +import { convertBlocks } from "../../prompts/promptHelpers/convertBlocks.js"; +import { suffixIDs } from "../../prompts/promptHelpers/suffixIds.js"; +import { trimEmptyBlocks } from "../../prompts/promptHelpers/trimEmptyBlocks.js"; + +// TODO + export async function getDataForPromptNoSelection(editor: BlockNoteEditor, opts: { + excludeBlockIds?: string[] + }) { + const input = trimEmptyBlocks(editor.document); + const blockArray = await convertBlocks(input, async (block) => { + return block + }); + const withCursor = addCursorPosition(editor, blockArray); + + const filtered = withCursor.filter(b => "cursor" in b || !(opts.excludeBlockIds || []).includes(b.id)); + const suffixed = suffixIDs(filtered); + return { + jsonBlocks: suffixed, + }; + } + + // TODO + export async function getDataForPromptWithSelection(editor: BlockNoteEditor, selectedBlocks: Block[]) { + const blockArray = await convertBlocks(selectedBlocks, async (block) => { + return block + }); + const suffixed = suffixIDs(blockArray); + + return { + jsonSelectedBlocks: suffixed, + jsonDocument: (await convertBlocks(editor.document, async (block) => { + return block + })).map(({ block }) => ({block})), // strip ids so LLM can't accidentally issue updates to ids not in selection (TODO: implement for json) + }; + } \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/json/tools/index.ts b/packages/xl-ai/src/api/formats/json/tools/index.ts new file mode 100644 index 0000000000..a2b8ebac51 --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/tools/index.ts @@ -0,0 +1,45 @@ +import { PartialBlock } from "@blocknote/core"; + +import { + getApplySuggestionsTr, + rebaseTool, +} from "../../../../prosemirror/rebaseTool.js"; +import { createAddBlocksTool } from "../../../tools/createAddBlocksTool.js"; +import { createUpdateBlockTool } from "../../../tools/createUpdateBlockTool.js"; +import { deleteBlockTool } from "../../../tools/delete.js"; +import { validateBlockFunction } from "./validate.js"; + +export const tools = { + add: createAddBlocksTool>({ + description: "Insert new blocks", + schema: { + block: { + $ref: "#/$defs/block", + }, + }, + validateBlock: validateBlockFunction, + rebaseTool: async (_id, editor) => + rebaseTool(editor, getApplySuggestionsTr(editor)), + toJSONToolCall: async (_editor, chunk) => { + return chunk.operation; + }, + }), + update: createUpdateBlockTool>({ + description: + "Update a block, the new block will replace the existing block.", + schema: { + block: { + $ref: "#/$defs/block", + }, + }, + validateBlock: validateBlockFunction, + rebaseTool: async (_id, editor) => + rebaseTool(editor, getApplySuggestionsTr(editor)), + toJSONToolCall: async (_editor, chunk) => { + return chunk.operation; + }, + }), + delete: deleteBlockTool, +}; + +export type Tools = ReturnType<(typeof tools)[keyof typeof tools]>; diff --git a/packages/xl-ai/src/api/formats/json/tools/validate.ts b/packages/xl-ai/src/api/formats/json/tools/validate.ts new file mode 100644 index 0000000000..f84ea6a86a --- /dev/null +++ b/packages/xl-ai/src/api/formats/json/tools/validate.ts @@ -0,0 +1,107 @@ +import { + BlockNoteEditor, + PartialBlock, + isLinkInlineContent, + isStyledTextInlineContent, +} from "@blocknote/core"; +import { InvalidOrOk } from "../../../streamTool/streamTool"; + +function validateInlineContent(content: any, editor: any): boolean { + const inlineContentConfig = + editor.schema.inlineContentSchema[ + content.type as keyof typeof editor.schema.inlineContentSchema + ]; + + if (!inlineContentConfig) { + return false; + } + + if (isStyledTextInlineContent(content)) { + if (!("text" in content)) { + return false; + } + } + + if (isLinkInlineContent(content)) { + if (!("content" in content) || !("href" in content)) { + return false; + } + + return validateInlineContent(content.content, editor); + } + + // TODO: custom ic content + return true; +} + +export function validateBlockFunction( + block: any, + editor: BlockNoteEditor, + fallbackType?: string +): InvalidOrOk> { + const type = block.type || fallbackType; + const blockConfig = + editor.schema.blockSchema[type as keyof typeof editor.schema.blockSchema]; + + if (!blockConfig) { + return { + result: "invalid", + reason: "block type not found in editor", + }; + } + + if (block.children) { + // LLM tools are not supposed to edit children at this moment + // return false; TODO, bringing this back breaks markdown tests + } + + if (blockConfig.content === "none") { + if (block.content) { + // no content expected for this block + return { + result: "invalid", + reason: "block content not expected for this block type", + }; + } + } else { + if (!block.content) { + // return false; + return { + result: "ok", + value: block, + }; + } + + if (!Array.isArray(block.content)) { + // content expected for this block + return { + result: "invalid", + reason: "block content must be an array", + }; + } + + if (blockConfig.content === "table") { + // no validation for table content (TODO) + return { + result: "ok", + value: block, + }; + } + + if ( + !(block.content as []).every((content: any) => { + return validateInlineContent(content, editor); + }) + ) { + return { + result: "invalid", + reason: "block content must be an array of inline content", + }; + } + } + // TODO: validate props + return { + result: "ok", + value: block, + }; +} diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Delete/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/deletes a paragraph_1_274f7e0cbbea81fd5e1e4ad739e4185b.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Delete/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/deletes a paragraph_1_274f7e0cbbea81fd5e1e4ad739e4185b.json new file mode 100644 index 0000000000..a26ad2d90e --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Delete/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/deletes a paragraph_1_274f7e0cbbea81fd5e1e4ad739e4185b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/deletes a paragraph_1_2c0ef19cec3558362f101b2312979377.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/deletes a paragraph_1_2c0ef19cec3558362f101b2312979377.json new file mode 100644 index 0000000000..3ff294e5b3 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/deletes a paragraph_1_2c0ef19cec3558362f101b2312979377.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-55f89903-f9d8-4d4f-b16a-07536f881272\",\"object\":\"chat.completion\",\"created\":1743013799,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_av53\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"delete\\\", \\\"id\\\": \\\"0$\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.129683695,\"prompt_tokens\":516,\"prompt_time\":0.034752722,\"completion_tokens\":20,\"completion_time\":0.077857755,\"total_tokens\":536,\"total_time\":0.112610477},\"system_fingerprint\":\"fp_b1483399f5\",\"x_groq\":{\"id\":\"req_01jq9vfsj9ftc9e2as9dptan3f\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/deletes a paragraph_1_0c45b1844cfa745ad5b95536e0a025ab.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/deletes a paragraph_1_0c45b1844cfa745ad5b95536e0a025ab.json new file mode 100644 index 0000000000..af686c11fb --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Delete/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/deletes a paragraph_1_0c45b1844cfa745ad5b95536e0a025ab.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-ae93d2b0-35aa-40c9-9821-0443cb411929\",\"object\":\"chat.completion.chunk\",\"created\":1743013790,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vfh3jeqbvv6rn4ev7eweg\"}}\n\ndata: {\"id\":\"chatcmpl-ae93d2b0-35aa-40c9-9821-0443cb411929\",\"object\":\"chat.completion.chunk\",\"created\":1743013791,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_5k7m\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"delete\\\", \\\"id\\\": \\\"0$\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-ae93d2b0-35aa-40c9-9821-0443cb411929\",\"object\":\"chat.completion.chunk\",\"created\":1743013791,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vfh3jeqbvv6rn4ev7eweg\",\"usage\":{\"queue_time\":0.129643218,\"prompt_tokens\":516,\"prompt_time\":0.033677927,\"completion_tokens\":20,\"completion_time\":0.078069632,\"total_tokens\":536,\"total_time\":0.111747559}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_2c30b8d1a406dc18ac6ecd886e001ddd.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_2c30b8d1a406dc18ac6ecd886e001ddd.json new file mode 100644 index 0000000000..6e7a1f01ab --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/deletes a paragraph_1_2c30b8d1a406dc18ac6ecd886e001ddd.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnPjuXollT5HWU4NDDrrDOALhSE\",\n \"object\": \"chat.completion\",\n \"created\": 1743013779,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_KWjJoTw3JsogL6IhTHeA0EcO\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"delete\\\",\\\"id\\\":\\\"0$\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 223,\n \"completion_tokens\": 15,\n \"total_tokens\": 238,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/deletes a paragraph_1_ab632d7ac61a9abd808d8c322f0d1baf.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/deletes a paragraph_1_ab632d7ac61a9abd808d8c322f0d1baf.json new file mode 100644 index 0000000000..ae751a8875 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Delete/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/deletes a paragraph_1_ab632d7ac61a9abd808d8c322f0d1baf.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"delete the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_5FsJ5L2Curds2K9RLTw7YwiS\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"delete\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn6DB0Bu27gVPKWmO6fs0pJ3641\",\"object\":\"chat.completion.chunk\",\"created\":1743013760,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/inserts a paragraph at end_1_ff74e275f88eff2be9e61bc1be7f3ba1.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/inserts a paragraph at end_1_ff74e275f88eff2be9e61bc1be7f3ba1.json new file mode 100644 index 0000000000..79778706c2 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/inserts a paragraph at end_1_ff74e275f88eff2be9e61bc1be7f3ba1.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/inserts a paragraph at start_1_dcff81f9f7f151e3175cf8500f1c24c4.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/inserts a paragraph at start_1_dcff81f9f7f151e3175cf8500f1c24c4.json new file mode 100644 index 0000000000..aa56cd39d0 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/inserts a paragraph at start_1_dcff81f9f7f151e3175cf8500f1c24c4.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at end_1_f9a490fe857779deaf00259e354edca6.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at end_1_f9a490fe857779deaf00259e354edca6.json new file mode 100644 index 0000000000..e2e66d1ce8 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at end_1_f9a490fe857779deaf00259e354edca6.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-f9df9eea-798d-4bd4-8769-1ea1026c6839\",\"object\":\"chat.completion\",\"created\":1743013800,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_p9tb\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"add\\\", \\\"referenceId\\\": \\\"0$\\\", \\\"position\\\": \\\"after\\\", \\\"blocks\\\": [\\\"Test\\\"]}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10138115,\"prompt_tokens\":515,\"prompt_time\":0.033181087,\"completion_tokens\":33,\"completion_time\":0.12,\"total_tokens\":548,\"total_time\":0.153181087},\"system_fingerprint\":\"fp_41c250edc7\",\"x_groq\":{\"id\":\"req_01jq9vftfmffgrw287thhcpfqp\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_0cd1e1ad0b731e3a0b2f4c7a1c103f30.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_0cd1e1ad0b731e3a0b2f4c7a1c103f30.json new file mode 100644 index 0000000000..378afdbc2c --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_0cd1e1ad0b731e3a0b2f4c7a1c103f30.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-93b710b2-0084-4d30-9506-40d7e278b276\",\"object\":\"chat.completion\",\"created\":1743014265,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_vab9\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"add\\\", \\\"referenceId\\\": \\\"0$\\\", \\\"position\\\": \\\"before\\\", \\\"blocks\\\": [\\\"Test\\\"]}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10115247,\"prompt_tokens\":518,\"prompt_time\":0.036404566,\"completion_tokens\":33,\"completion_time\":0.489918657,\"total_tokens\":551,\"total_time\":0.526323223},\"system_fingerprint\":\"fp_8dd9fca28c\",\"x_groq\":{\"id\":\"req_01jq9vy0n0e8fr0wbdmsj7mz92\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_801c5a3b5176f1b56225e32705f2613c.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_801c5a3b5176f1b56225e32705f2613c.json new file mode 100644 index 0000000000..a67de95199 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/inserts a paragraph at start_1_801c5a3b5176f1b56225e32705f2613c.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"error\":{\"message\":\"Failed to call a function. Please adjust your prompt. See 'failed_generation' for more details.\",\"type\":\"invalid_request_error\",\"code\":\"tool_use_failed\",\"failed_generation\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"before\\\",\\\"blocks\\\":[\\\"Test\\\"]}]}\\u003e\\u003c/function\\u003e\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at end_1_af8e9c69be096cd9417815ddd60533a4.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at end_1_af8e9c69be096cd9417815ddd60533a4.json new file mode 100644 index 0000000000..56dbbfcaf6 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at end_1_af8e9c69be096cd9417815ddd60533a4.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-d04f3912-8feb-4306-bfd9-a629b1f85ade\",\"object\":\"chat.completion.chunk\",\"created\":1743013791,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vfht0ffcbxdjhws3cs6s1\"}}\n\ndata: {\"id\":\"chatcmpl-d04f3912-8feb-4306-bfd9-a629b1f85ade\",\"object\":\"chat.completion.chunk\",\"created\":1743013791,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_j9dt\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"add\\\", \\\"referenceId\\\": \\\"0$\\\", \\\"position\\\": \\\"after\\\", \\\"blocks\\\": [\\\"Test\\\"]}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-d04f3912-8feb-4306-bfd9-a629b1f85ade\",\"object\":\"chat.completion.chunk\",\"created\":1743013791,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_34555b7c20\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vfht0ffcbxdjhws3cs6s1\",\"usage\":{\"queue_time\":0.101485617,\"prompt_tokens\":515,\"prompt_time\":0.033148176,\"completion_tokens\":33,\"completion_time\":0.12,\"total_tokens\":548,\"total_time\":0.153148176}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at start_1_114a38fa039ca5df95f68eb12f935242.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at start_1_114a38fa039ca5df95f68eb12f935242.json new file mode 100644 index 0000000000..8a4f9b45e3 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/inserts a paragraph at start_1_114a38fa039ca5df95f68eb12f935242.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-3965bf4f-f267-4301-8e49-b37081be5719\",\"object\":\"chat.completion.chunk\",\"created\":1743013791,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vfhcgeqbsxcv5ycq79ava\"}}\n\ndata: {\"id\":\"chatcmpl-3965bf4f-f267-4301-8e49-b37081be5719\",\"object\":\"chat.completion.chunk\",\"created\":1743013791,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_qcp3\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"add\\\", \\\"referenceId\\\": \\\"0$\\\", \\\"position\\\": \\\"before\\\", \\\"blocks\\\": [\\\"Test\\\"]}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-3965bf4f-f267-4301-8e49-b37081be5719\",\"object\":\"chat.completion.chunk\",\"created\":1743013791,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vfhcgeqbsxcv5ycq79ava\",\"usage\":{\"queue_time\":0.128472071,\"prompt_tokens\":514,\"prompt_time\":0.035756267,\"completion_tokens\":33,\"completion_time\":0.121262685,\"total_tokens\":547,\"total_time\":0.157018952}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_e975b8b90b0921996854c2baeccf1ca9.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_e975b8b90b0921996854c2baeccf1ca9.json new file mode 100644 index 0000000000..4b76c348e8 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at end_1_e975b8b90b0921996854c2baeccf1ca9.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnRGsQdrDEF5BhIQ8yU5U8GOpbe\",\n \"object\": \"chat.completion\",\n \"created\": 1743013781,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_UZvKaw1IYuHrbnBeVtp07NDS\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"after\\\",\\\"blocks\\\":[\\\"Test\\\"]}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 222,\n \"completion_tokens\": 25,\n \"total_tokens\": 247,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_60a5c88eaed240e665ad245a626523bf.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_60a5c88eaed240e665ad245a626523bf.json new file mode 100644 index 0000000000..44df0fc720 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/inserts a paragraph at start_1_60a5c88eaed240e665ad245a626523bf.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnQtnhJJTKH0f0Rg85u5fJ204vd\",\n \"object\": \"chat.completion\",\n \"created\": 1743013780,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_YFg4zlbL2vs0ReDkejjH36BV\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"add\\\",\\\"referenceId\\\":\\\"0$\\\",\\\"position\\\":\\\"before\\\",\\\"blocks\\\":[\\\"Test\\\"]}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 221,\n \"completion_tokens\": 25,\n \"total_tokens\": 246,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at end_1_fa54cb6e1cdd49fe77be2676ea1c25c0.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at end_1_fa54cb6e1cdd49fe77be2676ea1c25c0.json new file mode 100644 index 0000000000..ccdd9db8ac --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at end_1_fa54cb6e1cdd49fe77be2676ea1c25c0.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a paragraph with text \\\"Test\\\" after the first paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_guUAx36QnBAsKaQV1zS01Q5q\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"add\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"reference\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"position\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"after\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"blocks\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Test\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn90qnsLBcEi6FktbrO46abSfE6\",\"object\":\"chat.completion.chunk\",\"created\":1743013763,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at start_1_e5b19fcecfafe5f0a3e08b3dbe45c037.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at start_1_e5b19fcecfafe5f0a3e08b3dbe45c037.json new file mode 100644 index 0000000000..089f618bbf --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Insert/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/inserts a paragraph at start_1_e5b19fcecfafe5f0a3e08b3dbe45c037.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"}]\"},{\"role\":\"user\",\"content\":\"Add a sentence with `Test` before the first sentence\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_IVAvLgCy9NPYcSr8eFztxqbF\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"add\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"reference\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"position\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"before\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"blocks\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Test\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"]\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn8fJz3La3ENcFOqZxhJJdwVCh7\",\"object\":\"chat.completion.chunk\",\"created\":1743013762,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/drop mark and link and change text within mark_1_7fa9f08719311fa03ae061d192fefe1b.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/drop mark and link and change text within mark_1_7fa9f08719311fa03ae061d192fefe1b.json new file mode 100644 index 0000000000..b8a5ed60cd --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/drop mark and link and change text within mark_1_7fa9f08719311fa03ae061d192fefe1b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/drop mark and link_1_dd2a239803073b3e28f5d78839f48a76.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/drop mark and link_1_dd2a239803073b3e28f5d78839f48a76.json new file mode 100644 index 0000000000..0bd53096b1 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/drop mark and link_1_dd2a239803073b3e28f5d78839f48a76.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/standard update_1_82a76448c70c10180bf9d0590fdb1251.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/standard update_1_82a76448c70c10180bf9d0590fdb1251.json new file mode 100644 index 0000000000..b68c9362f3 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/standard update_1_82a76448c70c10180bf9d0590fdb1251.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/standard update_1_8d0176d2f65914b14cbb58a8608bb27c.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/standard update_1_8d0176d2f65914b14cbb58a8608bb27c.json new file mode 100644 index 0000000000..c695f3672f --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/standard update_1_8d0176d2f65914b14cbb58a8608bb27c.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/standard update_1_f8bc61c9e2a9dd9c4bdaacabf73afca8.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/standard update_1_f8bc61c9e2a9dd9c4bdaacabf73afca8.json new file mode 100644 index 0000000000..8be2b5f31b --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/standard update_1_f8bc61c9e2a9dd9c4bdaacabf73afca8.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"guided_decoding_backend\":\"outlines\",\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"Request-level structured output backend must match engine-level backend. outlines != xgrammar\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, remove mark_1_b3ea22630b8ab20801e2f402a6e23712.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, remove mark_1_b3ea22630b8ab20801e2f402a6e23712.json new file mode 100644 index 0000000000..8205c5b5db --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, remove mark_1_b3ea22630b8ab20801e2f402a6e23712.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, remove mention_1_a01cacea6b5ca16669f10002ef98d7bd.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, remove mention_1_a01cacea6b5ca16669f10002ef98d7bd.json new file mode 100644 index 0000000000..d2a8b9e477 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block, remove mention_1_a01cacea6b5ca16669f10002ef98d7bd.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block_1_792ba524b3cfecfae5145b4f85bb4056.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block_1_792ba524b3cfecfae5145b4f85bb4056.json new file mode 100644 index 0000000000..01c5891563 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in source block_1_792ba524b3cfecfae5145b4f85bb4056.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in target block, add mark_1_e2b4321a2b418e681965f676976246a6.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in target block, add mark_1_e2b4321a2b418e681965f676976246a6.json new file mode 100644 index 0000000000..c8cbd27a82 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/styles + ic in target block, add mark_1_e2b4321a2b418e681965f676976246a6.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block type and content_1_05d8cc6fde21135f057d135e43f5f304.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block type and content_1_05d8cc6fde21135f057d135e43f5f304.json new file mode 100644 index 0000000000..e19dc2eafa --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block type and content_1_05d8cc6fde21135f057d135e43f5f304.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block type_1_49f31c1438b6931034b026c48da0e53f.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block type_1_49f31c1438b6931034b026c48da0e53f.json new file mode 100644 index 0000000000..fd8ad60c97 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block type_1_49f31c1438b6931034b026c48da0e53f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block type_1_cccc3f586d42f8f32a6d53936edfb88b.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block type_1_cccc3f586d42f8f32a6d53936edfb88b.json new file mode 100644 index 0000000000..859e4dd61f --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/update block type_1_cccc3f586d42f8f32a6d53936edfb88b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link and change text within mark_1_eaf229f04c2670cce6c90b541476b3ed.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link and change text within mark_1_eaf229f04c2670cce6c90b541476b3ed.json new file mode 100644 index 0000000000..97ff59237c --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link and change text within mark_1_eaf229f04c2670cce6c90b541476b3ed.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-1807cb25-01f5-46e5-9fe4-dffee46a0099\",\"object\":\"chat.completion\",\"created\":1743013799,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_hbzr\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": \\\"Hi, world! Bold the text. Link.\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.100374829,\"prompt_tokens\":580,\"prompt_time\":0.044696916,\"completion_tokens\":35,\"completion_time\":0.127272727,\"total_tokens\":615,\"total_time\":0.171969643},\"system_fingerprint\":\"fp_c4760ee73b\",\"x_groq\":{\"id\":\"req_01jq9vfs6dftc9yw220208650r\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link_1_eba91fcad7b9a1c805978958135b3ad4.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link_1_eba91fcad7b9a1c805978958135b3ad4.json new file mode 100644 index 0000000000..e51c1d9ee0 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/drop mark and link_1_eba91fcad7b9a1c805978958135b3ad4.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-6b808e42-4556-47a7-a8d0-463c1cbc6508\",\"object\":\"chat.completion\",\"created\":1743013798,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_fsq6\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": \\\"Hello, world! Bold text. Link.\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10132539600000001,\"prompt_tokens\":574,\"prompt_time\":0.036783184,\"completion_tokens\":34,\"completion_time\":0.134820195,\"total_tokens\":608,\"total_time\":0.171603379},\"system_fingerprint\":\"fp_8dd9fca28c\",\"x_groq\":{\"id\":\"req_01jq9vfrt8ftbtqht1dj6hddvc\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/standard update_1_28b7b755035aa1b2e7195c45b57003bf.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/standard update_1_28b7b755035aa1b2e7195c45b57003bf.json new file mode 100644 index 0000000000..2b694a983a --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/standard update_1_28b7b755035aa1b2e7195c45b57003bf.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-1baebe0c-5fba-4c6f-9952-e21ef93ccd86\",\"object\":\"chat.completion\",\"created\":1743013793,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_f137\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"Hello, updated content\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.106769609,\"prompt_tokens\":571,\"prompt_time\":0.039641309,\"completion_tokens\":29,\"completion_time\":0.105454545,\"total_tokens\":600,\"total_time\":0.145095854},\"system_fingerprint\":\"fp_41c250edc7\",\"x_groq\":{\"id\":\"req_01jq9vfkmcft8bbsheh504kp1e\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mark_1_e342d3eede7e8ec5dbbdfd8bd7d746a2.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mark_1_e342d3eede7e8ec5dbbdfd8bd7d746a2.json new file mode 100644 index 0000000000..abfdf16c11 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mark_1_e342d3eede7e8ec5dbbdfd8bd7d746a2.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-f71dcbb8-c6d5-49f4-beb9-3a3c1014c68b\",\"object\":\"chat.completion\",\"created\":1743013795,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_d6qb\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"Hello, @John Doe! How are you doing?\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10786142199999998,\"prompt_tokens\":565,\"prompt_time\":0.039908086,\"completion_tokens\":36,\"completion_time\":0.130909091,\"total_tokens\":601,\"total_time\":0.170817177},\"system_fingerprint\":\"fp_41c250edc7\",\"x_groq\":{\"id\":\"req_01jq9vfnfheqdrnt122az8kj7s\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mention_1_776a434ab32ddce7a101e2df8e1af10c.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mention_1_776a434ab32ddce7a101e2df8e1af10c.json new file mode 100644 index 0000000000..aaa0ca0ff3 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block, remove mention_1_776a434ab32ddce7a101e2df8e1af10c.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-bf4f0981-cbd5-4c82-b2d9-e8c7ff0e9a8f\",\"object\":\"chat.completion\",\"created\":1743013795,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_rajz\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"Hello! How **are you doing?**\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.128414565,\"prompt_tokens\":576,\"prompt_time\":0.044704352,\"completion_tokens\":34,\"completion_time\":0.123636364,\"total_tokens\":610,\"total_time\":0.168340716},\"system_fingerprint\":\"fp_b1483399f5\",\"x_groq\":{\"id\":\"req_01jq9vfntbftaamzjc8rsm31e2\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block_1_b8b1ab9dcc9ada491bb1d9cba0fb46f6.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block_1_b8b1ab9dcc9ada491bb1d9cba0fb46f6.json new file mode 100644 index 0000000000..d30b8ce175 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in source block_1_b8b1ab9dcc9ada491bb1d9cba0fb46f6.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-e8415e12-b0ee-4b4e-b9b7-14a9a7bf96df\",\"object\":\"chat.completion\",\"created\":1743013795,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_vkba\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"Hello, updated content\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10101048,\"prompt_tokens\":571,\"prompt_time\":0.036372642,\"completion_tokens\":29,\"completion_time\":0.105454545,\"total_tokens\":600,\"total_time\":0.141827187},\"system_fingerprint\":\"fp_90c1d253ff\",\"x_groq\":{\"id\":\"req_01jq9vfn6cft9rqj8rz4mgks38\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in target block, add mark_1_399a255d195a11330ed8642cb31d1c62.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in target block, add mark_1_399a255d195a11330ed8642cb31d1c62.json new file mode 100644 index 0000000000..cf5418715e --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/styles + ic in target block, add mark_1_399a255d195a11330ed8642cb31d1c62.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-cca2cc0e-e83c-4442-9acd-91bbbb723cb3\",\"object\":\"chat.completion\",\"created\":1743013798,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_00q6\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"Hello, **world!**\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":2.387923343,\"prompt_tokens\":568,\"prompt_time\":0.06681274,\"completion_tokens\":31,\"completion_time\":0.112727273,\"total_tokens\":599,\"total_time\":0.179540013},\"system_fingerprint\":\"fp_fcc3b74982\",\"x_groq\":{\"id\":\"req_01jq9vfp6kftb9safz7qkmcp2v\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type and content_1_0fe9b449a5dc9341fd4292c29a93d5f2.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type and content_1_0fe9b449a5dc9341fd4292c29a93d5f2.json new file mode 100644 index 0000000000..77622f5394 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type and content_1_0fe9b449a5dc9341fd4292c29a93d5f2.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-cf8afb44-85cd-41c6-8510-60f431849761\",\"object\":\"chat.completion\",\"created\":1743013794,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_6330\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"# What's up, world!\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10681216499999999,\"prompt_tokens\":575,\"prompt_time\":0.0413088,\"completion_tokens\":31,\"completion_time\":0.112727273,\"total_tokens\":606,\"total_time\":0.154036073},\"system_fingerprint\":\"fp_41c250edc7\",\"x_groq\":{\"id\":\"req_01jq9vfmwbft9bjg1ykwwacyxq\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type_1_eaa3d0f756b26d401823ac7436c5a3aa.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type_1_eaa3d0f756b26d401823ac7436c5a3aa.json new file mode 100644 index 0000000000..b0c61068b7 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/update block type_1_eaa3d0f756b26d401823ac7436c5a3aa.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-cfc38803-b41f-4aa4-b898-24d652e6cb6a\",\"object\":\"chat.completion\",\"created\":1743013794,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_8bjs\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"# Hello, world!\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10097695099999998,\"prompt_tokens\":563,\"prompt_time\":0.041693738,\"completion_tokens\":29,\"completion_time\":0.105454545,\"total_tokens\":592,\"total_time\":0.147148283},\"system_fingerprint\":\"fp_41c250edc7\",\"x_groq\":{\"id\":\"req_01jq9vfkz2ft9bpdz378p9t9cw\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_ab99821ce043b00e4e8126b2d28e743f.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_ab99821ce043b00e4e8126b2d28e743f.json new file mode 100644 index 0000000000..1e80f6cf06 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_ab99821ce043b00e4e8126b2d28e743f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-267af228-a192-488d-9bf8-fe1982b2b6b8\",\"object\":\"chat.completion.chunk\",\"created\":1743013790,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vfgpzeqbvfpr1gnhp6c9z\"}}\n\ndata: {\"id\":\"chatcmpl-267af228-a192-488d-9bf8-fe1982b2b6b8\",\"object\":\"chat.completion.chunk\",\"created\":1743013790,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_hjxa\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hi, world! Bold the text. Link.\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-267af228-a192-488d-9bf8-fe1982b2b6b8\",\"object\":\"chat.completion.chunk\",\"created\":1743013790,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vfgpzeqbvfpr1gnhp6c9z\",\"usage\":{\"queue_time\":0.12947640100000002,\"prompt_tokens\":580,\"prompt_time\":0.047973996,\"completion_tokens\":30,\"completion_time\":0.109090909,\"total_tokens\":610,\"total_time\":0.157064905}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_d2b44f3372b0ffc55d164e7f8e1c67b5.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_d2b44f3372b0ffc55d164e7f8e1c67b5.json new file mode 100644 index 0000000000..ee78bfc992 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link and change text within mark_1_d2b44f3372b0ffc55d164e7f8e1c67b5.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-6c45a49c-c809-4d40-b7da-359882cae60c\",\"object\":\"chat.completion.chunk\",\"created\":1743014297,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_3884478861\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vyx1pf5kv8g5gvfk1854v\"}}\n\ndata: {\"id\":\"chatcmpl-6c45a49c-c809-4d40-b7da-359882cae60c\",\"object\":\"chat.completion.chunk\",\"created\":1743014297,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_3884478861\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_v199\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": \\\"Hi, world! Bold the text. Link.\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-6c45a49c-c809-4d40-b7da-359882cae60c\",\"object\":\"chat.completion.chunk\",\"created\":1743014297,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_3884478861\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vyx1pf5kv8g5gvfk1854v\",\"usage\":{\"queue_time\":2.767050556,\"prompt_tokens\":584,\"prompt_time\":0.08430797,\"completion_tokens\":35,\"completion_time\":0.13844869,\"total_tokens\":619,\"total_time\":0.22275666}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link_1_7a9b529bb7803d51b7585b58fbbf5ef3.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link_1_7a9b529bb7803d51b7585b58fbbf5ef3.json new file mode 100644 index 0000000000..80c3f1e1d7 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/drop mark and link_1_7a9b529bb7803d51b7585b58fbbf5ef3.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-bd4e224f-54c2-46ac-a0f4-c75e8b96af4d\",\"object\":\"chat.completion.chunk\",\"created\":1743013790,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_fcc3b74982\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vfezeft69y0w2e1snbxmf\"}}\n\ndata: {\"id\":\"chatcmpl-bd4e224f-54c2-46ac-a0f4-c75e8b96af4d\",\"object\":\"chat.completion.chunk\",\"created\":1743013790,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_fcc3b74982\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_f4e1\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref3$\\\", \\\"block\\\": \\\"Hello, world! Bold text. Link.\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-bd4e224f-54c2-46ac-a0f4-c75e8b96af4d\",\"object\":\"chat.completion.chunk\",\"created\":1743013790,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_fcc3b74982\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vfezeft69y0w2e1snbxmf\",\"usage\":{\"queue_time\":1.397405158,\"prompt_tokens\":574,\"prompt_time\":0.070854812,\"completion_tokens\":34,\"completion_time\":0.123636364,\"total_tokens\":608,\"total_time\":0.194491176}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/standard update_1_68f294562d474d18dd97e31d833f0624.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/standard update_1_68f294562d474d18dd97e31d833f0624.json new file mode 100644 index 0000000000..88818a6d24 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/standard update_1_68f294562d474d18dd97e31d833f0624.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-7d673701-bfc3-4124-b1e3-2bbbbd997359\",\"object\":\"chat.completion.chunk\",\"created\":1743013784,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vfb6fff788axj4fv9ghsj\"}}\n\ndata: {\"id\":\"chatcmpl-7d673701-bfc3-4124-b1e3-2bbbbd997359\",\"object\":\"chat.completion.chunk\",\"created\":1743013785,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_h56e\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"Hello, updated content\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-7d673701-bfc3-4124-b1e3-2bbbbd997359\",\"object\":\"chat.completion.chunk\",\"created\":1743013785,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vfb6fff788axj4fv9ghsj\",\"usage\":{\"queue_time\":0.129064126,\"prompt_tokens\":571,\"prompt_time\":0.041100322,\"completion_tokens\":29,\"completion_time\":0.105454545,\"total_tokens\":600,\"total_time\":0.146554867}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mark_1_8943576967bf8bbed6e4c7d81140f29e.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mark_1_8943576967bf8bbed6e4c7d81140f29e.json new file mode 100644 index 0000000000..f3f51f3c28 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mark_1_8943576967bf8bbed6e4c7d81140f29e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-77978b5f-5266-4359-bcb3-0f041b234d0d\",\"object\":\"chat.completion.chunk\",\"created\":1743013787,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vfdtaffars9fs6naqh7b3\"}}\n\ndata: {\"id\":\"chatcmpl-77978b5f-5266-4359-bcb3-0f041b234d0d\",\"object\":\"chat.completion.chunk\",\"created\":1743013787,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_z5gq\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"Hello, @John Doe! How are you doing?\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-77978b5f-5266-4359-bcb3-0f041b234d0d\",\"object\":\"chat.completion.chunk\",\"created\":1743013787,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vfdtaffars9fs6naqh7b3\",\"usage\":{\"queue_time\":0.1072927,\"prompt_tokens\":565,\"prompt_time\":0.037154702,\"completion_tokens\":36,\"completion_time\":0.130909091,\"total_tokens\":601,\"total_time\":0.168063793}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mention_1_33fc1ffc23a5096fcbd0c6bf25227f26.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mention_1_33fc1ffc23a5096fcbd0c6bf25227f26.json new file mode 100644 index 0000000000..0e0038438a --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block, remove mention_1_33fc1ffc23a5096fcbd0c6bf25227f26.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-f3137d38-1b39-4052-890a-b5a53af92939\",\"object\":\"chat.completion.chunk\",\"created\":1743013787,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vfe5hffb9eehyz20hbqzq\"}}\n\ndata: {\"id\":\"chatcmpl-f3137d38-1b39-4052-890a-b5a53af92939\",\"object\":\"chat.completion.chunk\",\"created\":1743013788,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_7wrs\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"Hello! How **are you doing?**\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-f3137d38-1b39-4052-890a-b5a53af92939\",\"object\":\"chat.completion.chunk\",\"created\":1743013788,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_90c1d253ff\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vfe5hffb9eehyz20hbqzq\",\"usage\":{\"queue_time\":0.101320568,\"prompt_tokens\":576,\"prompt_time\":0.043151604,\"completion_tokens\":34,\"completion_time\":0.123636364,\"total_tokens\":610,\"total_time\":0.166787968}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block_1_d827bd60af645af820f94b7d324c558b.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block_1_d827bd60af645af820f94b7d324c558b.json new file mode 100644 index 0000000000..197d899d3d --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in source block_1_d827bd60af645af820f94b7d324c558b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-b8e87256-5df8-4993-b92f-3b2726f4910a\",\"object\":\"chat.completion.chunk\",\"created\":1743013787,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_fcc3b74982\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vfc69ff999d7zgpy6r75h\"}}\n\ndata: {\"id\":\"chatcmpl-b8e87256-5df8-4993-b92f-3b2726f4910a\",\"object\":\"chat.completion.chunk\",\"created\":1743013787,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_fcc3b74982\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_t9jh\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref2$\\\", \\\"block\\\": \\\"Hello, updated content\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-b8e87256-5df8-4993-b92f-3b2726f4910a\",\"object\":\"chat.completion.chunk\",\"created\":1743013787,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_fcc3b74982\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vfc69ff999d7zgpy6r75h\",\"usage\":{\"queue_time\":1.2832811579999999,\"prompt_tokens\":571,\"prompt_time\":0.087951125,\"completion_tokens\":29,\"completion_time\":0.105454545,\"total_tokens\":600,\"total_time\":0.19340567}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in target block, add mark_1_6fae9c4d733d38fb6f1746f6a05d11d7.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in target block, add mark_1_6fae9c4d733d38fb6f1746f6a05d11d7.json new file mode 100644 index 0000000000..b7fe1113b6 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/styles + ic in target block, add mark_1_6fae9c4d733d38fb6f1746f6a05d11d7.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-819012db-e37e-4815-8bd0-8be671d47867\",\"object\":\"chat.completion.chunk\",\"created\":1743013788,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vfemdeq9s1g22sc164b1j\"}}\n\ndata: {\"id\":\"chatcmpl-819012db-e37e-4815-8bd0-8be671d47867\",\"object\":\"chat.completion.chunk\",\"created\":1743013788,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_yv8s\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, **world!**\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-819012db-e37e-4815-8bd0-8be671d47867\",\"object\":\"chat.completion.chunk\",\"created\":1743013788,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vfemdeq9s1g22sc164b1j\",\"usage\":{\"queue_time\":0.10117880700000001,\"prompt_tokens\":568,\"prompt_time\":0.0442282,\"completion_tokens\":26,\"completion_time\":0.094545455,\"total_tokens\":594,\"total_time\":0.138773655}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type and content_1_c923199006c9da30bd3158a9e73943ee.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type and content_1_c923199006c9da30bd3158a9e73943ee.json new file mode 100644 index 0000000000..6834cb3e62 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type and content_1_c923199006c9da30bd3158a9e73943ee.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-74b677c8-72aa-4d2e-8020-a0745cdd0c78\",\"object\":\"chat.completion.chunk\",\"created\":1743013785,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vfbveft3sejpbpc5kc67f\"}}\n\ndata: {\"id\":\"chatcmpl-74b677c8-72aa-4d2e-8020-a0745cdd0c78\",\"object\":\"chat.completion.chunk\",\"created\":1743013785,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_w6d3\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"# What's up, world!\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-74b677c8-72aa-4d2e-8020-a0745cdd0c78\",\"object\":\"chat.completion.chunk\",\"created\":1743013785,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vfbveft3sejpbpc5kc67f\",\"usage\":{\"queue_time\":0.10110524199999998,\"prompt_tokens\":575,\"prompt_time\":0.036553829,\"completion_tokens\":31,\"completion_time\":0.112727273,\"total_tokens\":606,\"total_time\":0.149281102}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type_1_041ac8922695cec6e801e8667e1ce819.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type_1_041ac8922695cec6e801e8667e1ce819.json new file mode 100644 index 0000000000..c1a6627275 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/update block type_1_041ac8922695cec6e801e8667e1ce819.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-d5868040-e45e-43e3-b2ed-923cc116ec6b\",\"object\":\"chat.completion.chunk\",\"created\":1743013785,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vfbgvff7rf3d5r8pyh0s0\"}}\n\ndata: {\"id\":\"chatcmpl-d5868040-e45e-43e3-b2ed-923cc116ec6b\",\"object\":\"chat.completion.chunk\",\"created\":1743013785,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_psfq\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"ref1$\\\", \\\"block\\\": \\\"# Hello, world!\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-d5868040-e45e-43e3-b2ed-923cc116ec6b\",\"object\":\"chat.completion.chunk\",\"created\":1743013785,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vfbgvff7rf3d5r8pyh0s0\",\"usage\":{\"queue_time\":0.12941509499999998,\"prompt_tokens\":563,\"prompt_time\":0.04904035,\"completion_tokens\":29,\"completion_time\":0.105454545,\"total_tokens\":592,\"total_time\":0.154494895}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_c6346cd0be6c33d2d43a355a4f14d8fe.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_c6346cd0be6c33d2d43a355a4f14d8fe.json new file mode 100644 index 0000000000..6ad2d7a774 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_c6346cd0be6c33d2d43a355a4f14d8fe.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnODCoJqUpzSjhB9EM5Ro15mYcx\",\n \"object\": \"chat.completion\",\n \"created\": 1743013778,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_Hkl77dHbhm4gP6V5VvFnEgh6\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hi, world! Bold the text. Link.\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 287,\n \"completion_tokens\": 29,\n \"total_tokens\": 316,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_ec9bda4b800d56eeb4dd84c5f60f3c32.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_ec9bda4b800d56eeb4dd84c5f60f3c32.json new file mode 100644 index 0000000000..f8c0cc7b5a --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link and change text within mark_1_ec9bda4b800d56eeb4dd84c5f60f3c32.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFhKqqmDJDdTcOpXukF22JhYcRRl1\",\n \"object\": \"chat.completion\",\n \"created\": 1743081200,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_AcunvV99qQszdDdWSwQS6y5A\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hi, world! Bold the text. Link.\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 291,\n \"completion_tokens\": 29,\n \"total_tokens\": 320,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_898ac29719\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_661bf1d191a6afbc34150c4e9fec74d5.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_661bf1d191a6afbc34150c4e9fec74d5.json new file mode 100644 index 0000000000..3da0d1e76b --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_661bf1d191a6afbc34150c4e9fec74d5.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnNVkUqdIKGe3drCZCP4juk4O1W\",\n \"object\": \"chat.completion\",\n \"created\": 1743013777,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_25ykcCWmduRO79ZmwcBA7elr\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! Bold text. Link.\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 281,\n \"completion_tokens\": 28,\n \"total_tokens\": 309,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_d50d33bd18723f099bf3675ec8489ac0.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_d50d33bd18723f099bf3675ec8489ac0.json new file mode 100644 index 0000000000..9470d3785c --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/drop mark and link_1_d50d33bd18723f099bf3675ec8489ac0.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFhKpCQKOzoj2ZZ8aR6JwbmUnFM8Y\",\n \"object\": \"chat.completion\",\n \"created\": 1743081199,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_kYc4QPYgr3CeD1ZvCTp6UCgq\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! Bold text. Link.\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 285,\n \"completion_tokens\": 28,\n \"total_tokens\": 313,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_898ac29719\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_9a1a392df02d8a51983ca11bebe84f38.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_9a1a392df02d8a51983ca11bebe84f38.json new file mode 100644 index 0000000000..01b6b7afd9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_9a1a392df02d8a51983ca11bebe84f38.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFhKjrCyaK4KumT7kzWAzVRyFMcUA\",\n \"object\": \"chat.completion\",\n \"created\": 1743081193,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_B4X4Ui6xQ4GywonWwg8JQfcl\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, updated content\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 282,\n \"completion_tokens\": 23,\n \"total_tokens\": 305,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_898ac29719\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_df74ee944c5bb55e006e79d02e4397ae.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_df74ee944c5bb55e006e79d02e4397ae.json new file mode 100644 index 0000000000..f98011dff2 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/standard update_1_df74ee944c5bb55e006e79d02e4397ae.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnFQjuu7tCRSFiQ1ul35Hro1p7g\",\n \"object\": \"chat.completion\",\n \"created\": 1743013769,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_ALZKTsdYSJgyQsmU4rANtG8p\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, updated content\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 278,\n \"completion_tokens\": 23,\n \"total_tokens\": 301,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_1c2dda6b7dc1df719b5dee69cb692b4d.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_1c2dda6b7dc1df719b5dee69cb692b4d.json new file mode 100644 index 0000000000..19f7a0e193 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_1c2dda6b7dc1df719b5dee69cb692b4d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnK9BQ3y9HnqKrX4nIMx0TKrsgz\",\n \"object\": \"chat.completion\",\n \"created\": 1743013774,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_tbOdpwapS803NKtm1lqyvCS5\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How are you doing?\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 272,\n \"completion_tokens\": 30,\n \"total_tokens\": 302,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_d7140e2e4423cb0b71eabbe414718c5a.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_d7140e2e4423cb0b71eabbe414718c5a.json new file mode 100644 index 0000000000..b9793ef172 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mark_1_d7140e2e4423cb0b71eabbe414718c5a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFhKmBUqxsCLkzyy3faVV2T16mhTP\",\n \"object\": \"chat.completion\",\n \"created\": 1743081196,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_H9tlMt92Swhv6AbukpFkBpS6\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How are you doing?\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 276,\n \"completion_tokens\": 30,\n \"total_tokens\": 306,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_898ac29719\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_4e1549a1dd3719ffc649d8d488671449.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_4e1549a1dd3719ffc649d8d488671449.json new file mode 100644 index 0000000000..6ef4c2f180 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_4e1549a1dd3719ffc649d8d488671449.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFhKnk95KtnyepAD8F4FBmMyuY5mh\",\n \"object\": \"chat.completion\",\n \"created\": 1743081197,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_TzIBuSHDrkYR6xuDloUdFaC5\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello! How **are you doing?**\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 287,\n \"completion_tokens\": 28,\n \"total_tokens\": 315,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_898ac29719\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_86f8dff66120f99b54e939fbca6b5d9e.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_86f8dff66120f99b54e939fbca6b5d9e.json new file mode 100644 index 0000000000..f8187c4f8b --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block, remove mention_1_86f8dff66120f99b54e939fbca6b5d9e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnL1MRGNCZKMU3GoeTH6prwQwI4\",\n \"object\": \"chat.completion\",\n \"created\": 1743013775,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_Kf4zbim25B1PjZ3bYeQ11mxS\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello! How **are you doing?**\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 283,\n \"completion_tokens\": 28,\n \"total_tokens\": 311,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_36a887fb36b470ff4eb73924e4d0b3b3.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_36a887fb36b470ff4eb73924e4d0b3b3.json new file mode 100644 index 0000000000..24f69f68a6 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_36a887fb36b470ff4eb73924e4d0b3b3.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnIJGAiOh1TNIfvid6gOtPGcEOv\",\n \"object\": \"chat.completion\",\n \"created\": 1743013772,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_AQ6rvQtylzHL6qNIE3YjVESW\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, updated content\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 278,\n \"completion_tokens\": 23,\n \"total_tokens\": 301,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_854ed16f686ee8356eaa9af577697d8b.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_854ed16f686ee8356eaa9af577697d8b.json new file mode 100644 index 0000000000..a809d55f6f --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in source block_1_854ed16f686ee8356eaa9af577697d8b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFhKlZQuiiqrF8T2YLNAIvbYFzaT0\",\n \"object\": \"chat.completion\",\n \"created\": 1743081195,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_1cuQZkler7Cjgw30ni8hHF0l\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, updated content\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 282,\n \"completion_tokens\": 23,\n \"total_tokens\": 305,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_898ac29719\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_ab3f002bfb31fc114976dbd2a8632d80.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_ab3f002bfb31fc114976dbd2a8632d80.json new file mode 100644 index 0000000000..90af65c9aa --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_ab3f002bfb31fc114976dbd2a8632d80.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnMTLv4ufSJaD1l7XzSIIpktMSw\",\n \"object\": \"chat.completion\",\n \"created\": 1743013776,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_SQD7V6o0OcqEJ9p5hFC7jtRM\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, **world!**\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 275,\n \"completion_tokens\": 25,\n \"total_tokens\": 300,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_fc570467a80b6d8b808c9e1ff1abe28a.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_fc570467a80b6d8b808c9e1ff1abe28a.json new file mode 100644 index 0000000000..b01d89839a --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/styles + ic in target block, add mark_1_fc570467a80b6d8b808c9e1ff1abe28a.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFhKoKXGwrEFlRagRDN00pZmMfnNu\",\n \"object\": \"chat.completion\",\n \"created\": 1743081198,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_nP7ev4NuhKVhkyN0mPqRsd4u\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, **world!**\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 279,\n \"completion_tokens\": 25,\n \"total_tokens\": 304,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_898ac29719\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_8bdba6632398c317eaa28547bd6f185e.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_8bdba6632398c317eaa28547bd6f185e.json new file mode 100644 index 0000000000..90bab83c5b --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_8bdba6632398c317eaa28547bd6f185e.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFhKkwHuIMurQQr47Jrp9IWMZLhI5\",\n \"object\": \"chat.completion\",\n \"created\": 1743081194,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_LTsFNYtTAYEka2QMXh2U5sra\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"# What's up, world!\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 285,\n \"completion_tokens\": 25,\n \"total_tokens\": 310,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_898ac29719\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_bf8928ba8af72b82b30a9c56c343d642.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_bf8928ba8af72b82b30a9c56c343d642.json new file mode 100644 index 0000000000..6e3f3e213a --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type and content_1_bf8928ba8af72b82b30a9c56c343d642.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnHZCQ9ujDaMDxFO5ehEJ1ufBjR\",\n \"object\": \"chat.completion\",\n \"created\": 1743013771,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_1W8Zxhx1ljMxBdP1s95oI9mz\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"# What's up, world!\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 281,\n \"completion_tokens\": 25,\n \"total_tokens\": 306,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_7c4ebe89982d6b1de54d437bef42d980.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_7c4ebe89982d6b1de54d437bef42d980.json new file mode 100644 index 0000000000..89f6c9df5d --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_7c4ebe89982d6b1de54d437bef42d980.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnG6XvBmJfUZUE6MjTp2Sz50hp9\",\n \"object\": \"chat.completion\",\n \"created\": 1743013770,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_hNbsKGNXfv6jjRBqespSiFJO\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"# Hello, world!\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 270,\n \"completion_tokens\": 24,\n \"total_tokens\": 294,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_c9280cf02d03d6299b29ad105b39b452.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_c9280cf02d03d6299b29ad105b39b452.json new file mode 100644 index 0000000000..0047cdb75e --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/update block type_1_c9280cf02d03d6299b29ad105b39b452.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFhKjBNVazmKYIumSuB4HbkAs3QTP\",\n \"object\": \"chat.completion\",\n \"created\": 1743081193,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_0xgMfoag1K0pOb103jzVf8IG\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"# Hello, world!\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 274,\n \"completion_tokens\": 24,\n \"total_tokens\": 298,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_898ac29719\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_9905d201d97f3cc9c0b6af6be39899ef.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_9905d201d97f3cc9c0b6af6be39899ef.json new file mode 100644 index 0000000000..343d222838 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_9905d201d97f3cc9c0b6af6be39899ef.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_YMucWRFRrqH8MBw3jbGcIWbV\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hi\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" the\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Link\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7g29YggzoaQzYeocNtg5zmXF7n\",\"object\":\"chat.completion.chunk\",\"created\":1743061164,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_b418fbe951a68389652fb650d7bd5367.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_b418fbe951a68389652fb650d7bd5367.json new file mode 100644 index 0000000000..976e905566 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link and change text within mark_1_b418fbe951a68389652fb650d7bd5367.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_ABFYujmypLOsyHkiWy9PC1rz\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hi\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" the\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Link\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn5fewsVNcO8FeJhMw2JeG1ZADo\",\"object\":\"chat.completion.chunk\",\"created\":1743013759,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_5d9745fe92375c0dae7d5e383f618cba.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_5d9745fe92375c0dae7d5e383f618cba.json new file mode 100644 index 0000000000..cc51e65f7b --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_5d9745fe92375c0dae7d5e383f618cba.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_jRrQLRqs1KAlRIIIxcUg8jtr\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Link\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn4h3QJRcTE0HGGQ7RCH1BJHV7h\",\"object\":\"chat.completion.chunk\",\"created\":1743013758,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_fd182736b2d8c9eb566f0d47254ccf9f.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_fd182736b2d8c9eb566f0d47254ccf9f.json new file mode 100644 index 0000000000..4186f0fd6d --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/drop mark and link_1_fd182736b2d8c9eb566f0d47254ccf9f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the formatting (turn into plain text without styles or urls) from the last paragraph\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_4whTOoWQbM5BgcMnrj9g5XpU\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"3\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Bold\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" text\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Link\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\".\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7fgGP2Y4Lrd15hhQ39raRPvtFg\",\"object\":\"chat.completion.chunk\",\"created\":1743061163,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_6bf03e2ad088c3d948532ba192647791.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_6bf03e2ad088c3d948532ba192647791.json new file mode 100644 index 0000000000..2a02a9cec7 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_6bf03e2ad088c3d948532ba192647791.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_ulLJYBNUetoxfsxvz0jDDidS\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" updated\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7Z1HfR4SZ5AYYpuKjAidGYhS1b\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_808e70a4debb636e15240338595ed346.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_808e70a4debb636e15240338595ed346.json new file mode 100644 index 0000000000..c15a6718ef --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/standard update_1_808e70a4debb636e15240338595ed346.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the first block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_Jf3svmmcBPDY9zYbWfHMUC65\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" updated\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmxpyD5K1wnI1dSaGA3f2d3j6Yg\",\"object\":\"chat.completion.chunk\",\"created\":1743013751,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_4136243b1643cabda2c05fe3fe4b16a2.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_4136243b1643cabda2c05fe3fe4b16a2.json new file mode 100644 index 0000000000..8eaeb82550 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_4136243b1643cabda2c05fe3fe4b16a2.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_PlvXzRFoEZIkWoaJ7OaggYdu\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" @\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"John\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7csSoWfphUIv34dsV2k32qNkLg\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_6f4b42247146f2bd9036d90518eae516.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_6f4b42247146f2bd9036d90518eae516.json new file mode 100644 index 0000000000..aea8d9876a --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mark_1_6f4b42247146f2bd9036d90518eae516.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"remove the bold style from the second block\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_DWXn3dv6H5L0timckWKgHUBB\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" @\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"John\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Doe\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn1XSGuA7kzzfhR7YKEIDgdSTH5\",\"object\":\"chat.completion.chunk\",\"created\":1743013755,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_a18e3968aceb1aa13f932576f644dc5c.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_a18e3968aceb1aa13f932576f644dc5c.json new file mode 100644 index 0000000000..b572bd033c --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_a18e3968aceb1aa13f932576f644dc5c.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_mOxQ5bqzcVXtFBxDK7I6psWU\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" **\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"**\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7dGgxgAkNHArHsbG1R0N4qyMAj\",\"object\":\"chat.completion.chunk\",\"created\":1743061161,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_edfb808ea74227aea59da28cdd06375d.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_edfb808ea74227aea59da28cdd06375d.json new file mode 100644 index 0000000000..2896e050b4 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block, remove mention_1_edfb808ea74227aea59da28cdd06375d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"change to say 'Hello! How are you doing?' (remove mention but keep bold text)\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_lc4saLF15e9WpUDzldi0OJjw\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" How\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" **\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"are\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" you\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" doing\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"?\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"**\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn2qPDdgHuscVxzKqjOMn7ingTW\",\"object\":\"chat.completion.chunk\",\"created\":1743013756,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block_1_06386e3f798883d6e805d8681aa47f69.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block_1_06386e3f798883d6e805d8681aa47f69.json new file mode 100644 index 0000000000..b7b36b7057 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block_1_06386e3f798883d6e805d8681aa47f69.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_1KCU1glkMBmhK28qNpkS3p7A\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" updated\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7cWYA0fdwLtQfAszpeeCFORrKm\",\"object\":\"chat.completion.chunk\",\"created\":1743061160,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block_1_d4ba514bb5e5248d496bb72bf1868f74.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block_1_d4ba514bb5e5248d496bb72bf1868f74.json new file mode 100644 index 0000000000..6ddcbdcf5f --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in source block_1_d4ba514bb5e5248d496bb72bf1868f74.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"update the content of the second block to 'Hello, updated content'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_ALFTbwJckrrlejW4oZyei6H6\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"2\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" updated\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" content\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn0fiT1DFN926HT2FIcQdfwXCir\",\"object\":\"chat.completion.chunk\",\"created\":1743013754,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark_1_66eed1ad840f7d085a22233ad55b9731.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark_1_66eed1ad840f7d085a22233ad55b9731.json new file mode 100644 index 0000000000..f73a252b9e --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark_1_66eed1ad840f7d085a22233ad55b9731.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_PKBm9gtuiufZ0qN5hdUK6QqS\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" **\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"**\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7eLgZzXcPIV6jFbCukXp9L1n8c\",\"object\":\"chat.completion.chunk\",\"created\":1743061162,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark_1_7d624e0a5120297e2d957aae59aff4c8.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark_1_7d624e0a5120297e2d957aae59aff4c8.json new file mode 100644 index 0000000000..f98f3b7195 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/styles + ic in target block, add mark_1_7d624e0a5120297e2d957aae59aff4c8.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make 'world!' (in the first block) bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_xTq1XyniqyhZcA2yzRxBx0cU\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" **\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"**\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPn3XbLhHUuMAPm6IHybddz32Pzh\",\"object\":\"chat.completion.chunk\",\"created\":1743013757,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_3c45796f25345f355089ba6313e77fa7.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_3c45796f25345f355089ba6313e77fa7.json new file mode 100644 index 0000000000..9076b1531f --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_3c45796f25345f355089ba6313e77fa7.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_71sLVGd6DLGpREivRKuAvc6W\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"#\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" What's\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" up\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7balWaxwmq5iFjpd5TOp8OvCQd\",\"object\":\"chat.completion.chunk\",\"created\":1743061159,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_a037fb755aa53e4ea24a0b653f715146.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_a037fb755aa53e4ea24a0b653f715146.json new file mode 100644 index 0000000000..f1b45cae13 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type and content_1_a037fb755aa53e4ea24a0b653f715146.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading and update the content to 'What's up, world!'\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_jOcvixoxEq9hUo1cpn2bWsPO\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"#\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" What's\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" up\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmzWjVCR2uQvJToFPBg5NjlWQwX\",\"object\":\"chat.completion.chunk\",\"created\":1743013753,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_446f19dc159e8f131395a83e6f0b21ce.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_446f19dc159e8f131395a83e6f0b21ce.json new file mode 100644 index 0000000000..3b8f70aaf6 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_446f19dc159e8f131395a83e6f0b21ce.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_ofKaMNtiXSst95rzBTCiTVvx\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"#\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7a94mzbfZGKTCdi5XNWteeD58z\",\"object\":\"chat.completion.chunk\",\"created\":1743061158,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_9a532648b0e2eb404d9fce2764b4f2aa.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_9a532648b0e2eb404d9fce2764b4f2aa.json new file mode 100644 index 0000000000..054dc6b0fd --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update (formatting)/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/update block type_1_9a532648b0e2eb404d9fce2764b4f2aa.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"ref1$\\\",\\\"block\\\":\\\"Hello, world!\\\"},{\\\"id\\\":\\\"ref2$\\\",\\\"block\\\":\\\"Hello, @John Doe! How **are you doing?**\\\"},{\\\"id\\\":\\\"ref3$\\\",\\\"block\\\":\\\"Hello, world! **Bold text. **[Link.](https://www.google.com)\\\"}]\"},{\"role\":\"user\",\"content\":\"make the first paragraph a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_m59QGQnTBO3DRDKkQMS9wPDI\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"ref\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"#\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\",\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"!\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmyHSn3F4vXGJGyEp7tYoZeOptU\",\"object\":\"chat.completion.chunk\",\"created\":1743013752,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/changes block type (paragraph -> heading)_1_5bbbc54729da2c86eae65a52db8936ef.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/changes block type (paragraph -> heading)_1_5bbbc54729da2c86eae65a52db8936ef.json new file mode 100644 index 0000000000..eca77cbbce --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/changes block type (paragraph -> heading)_1_5bbbc54729da2c86eae65a52db8936ef.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"change first paragraph to a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/changes simple formatting (paragraph)_1_b1d8b8f26ffe62c841facba991d06642.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/changes simple formatting (paragraph)_1_b1d8b8f26ffe62c841facba991d06642.json new file mode 100644 index 0000000000..97077b2edf --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/changes simple formatting (paragraph)_1_b1d8b8f26ffe62c841facba991d06642.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"change first paragraph to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/changes simple formatting (word)_1_d08ce5bdae64b39f2eace73e6006d73c.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/changes simple formatting (word)_1_d08ce5bdae64b39f2eace73e6006d73c.json new file mode 100644 index 0000000000..ca3904cbb6 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/changes simple formatting (word)_1_d08ce5bdae64b39f2eace73e6006d73c.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello world\\\"}]\"},{\"role\":\"user\",\"content\":\"change first word to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/translates simple paragraphs_1_6c3d8c8032cdab683a88bd223ea8e3de.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/translates simple paragraphs_1_6c3d8c8032cdab683a88bd223ea8e3de.json new file mode 100644 index 0000000000..f86bc0e3a8 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/albert-etalab.chat/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 (non-streaming)/translates simple paragraphs_1_6c3d8c8032cdab683a88bd223ea8e3de.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=albert-etalab&url=https%3A%2F%2Falbert.api.etalab.gouv.fr%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 400, + "statusText": "", + "body": "{\"detail\":\"The provided JSON schema contains features not supported by xgrammar.\"}", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes block type (paragraph -> heading)_1_1ddd8ff07663fd6dc7765e34a57cda4d.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes block type (paragraph -> heading)_1_1ddd8ff07663fd6dc7765e34a57cda4d.json new file mode 100644 index 0000000000..6375faca47 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes block type (paragraph -> heading)_1_1ddd8ff07663fd6dc7765e34a57cda4d.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"change first paragraph to a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-8346800b-7955-4d2d-951c-90109cee8bc2\",\"object\":\"chat.completion\",\"created\":1743013792,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_psnb\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"# Hello\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.10155847400000001,\"prompt_tokens\":518,\"prompt_time\":0.040063724,\"completion_tokens\":21,\"completion_time\":0.087885856,\"total_tokens\":539,\"total_time\":0.12794958},\"system_fingerprint\":\"fp_90c1d253ff\",\"x_groq\":{\"id\":\"req_01jq9vfjewft8bmrzh3xrzv4dm\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (paragraph)_1_bcf6b52478ebf0fd97c8bda9fc784a55.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (paragraph)_1_bcf6b52478ebf0fd97c8bda9fc784a55.json new file mode 100644 index 0000000000..6daf8ac3ee --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (paragraph)_1_bcf6b52478ebf0fd97c8bda9fc784a55.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"change first paragraph to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-586e8b87-af3c-4d81-b0aa-cf16f02ff21e\",\"object\":\"chat.completion\",\"created\":1743013792,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_xjp8\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": \\\"**Hello**\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.129882942,\"prompt_tokens\":517,\"prompt_time\":0.045396312,\"completion_tokens\":26,\"completion_time\":0.094545455,\"total_tokens\":543,\"total_time\":0.139941767},\"system_fingerprint\":\"fp_b1483399f5\",\"x_groq\":{\"id\":\"req_01jq9vfjt3eqbsr53fcs686r28\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (word)_1_7a8fd29796f789cf59a81913cdca39cc.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (word)_1_7a8fd29796f789cf59a81913cdca39cc.json new file mode 100644 index 0000000000..fab20b78b8 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/changes simple formatting (word)_1_7a8fd29796f789cf59a81913cdca39cc.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello world\\\"}]\"},{\"role\":\"user\",\"content\":\"change first word to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-8e84e08f-f872-472a-8775-b68d8258b649\",\"object\":\"chat.completion\",\"created\":1743013793,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_0xjr\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": \\\"**Hello** world\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.107606566,\"prompt_tokens\":509,\"prompt_time\":0.032806341,\"completion_tokens\":27,\"completion_time\":0.098181818,\"total_tokens\":536,\"total_time\":0.130988159},\"system_fingerprint\":\"fp_41c250edc7\",\"x_groq\":{\"id\":\"req_01jq9vfk6aeqbvqbg4ymr04q8b\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/translates simple paragraphs_1_c131f42c60a0fcd5e10e38144a8d6892.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/translates simple paragraphs_1_c131f42c60a0fcd5e10e38144a8d6892.json new file mode 100644 index 0000000000..234354cdc2 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (non-streaming)/translates simple paragraphs_1_c131f42c60a0fcd5e10e38144a8d6892.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\"id\":\"chatcmpl-d0104f60-fd8f-4d95-b817-8aaef4b00adc\",\"object\":\"chat.completion\",\"created\":1743013791,\"model\":\"llama-3.3-70b-versatile\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_cqrb\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": \\\"Hallo\\\"}, {\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"1$\\\", \\\"block\\\": \\\"Welt\\\"}]}\"}}]},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"usage\":{\"queue_time\":0.101114133,\"prompt_tokens\":517,\"prompt_time\":0.040942794,\"completion_tokens\":44,\"completion_time\":0.16,\"total_tokens\":561,\"total_time\":0.200942794},\"system_fingerprint\":\"fp_41c250edc7\",\"x_groq\":{\"id\":\"req_01jq9vfj3geqbrj4cwpfa8y6rr\"}}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes block type (paragraph -> heading)_1_459158d5de670ae41170275790efe40f.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes block type (paragraph -> heading)_1_459158d5de670ae41170275790efe40f.json new file mode 100644 index 0000000000..b398e7d8af --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes block type (paragraph -> heading)_1_459158d5de670ae41170275790efe40f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"change first paragraph to a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-bf281494-81f2-4cdd-bec2-9ed2bf377f9b\",\"object\":\"chat.completion.chunk\",\"created\":1743013783,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_c4760ee73b\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vfa3cft3aw0ekb4a15rv6\"}}\n\ndata: {\"id\":\"chatcmpl-bf281494-81f2-4cdd-bec2-9ed2bf377f9b\",\"object\":\"chat.completion.chunk\",\"created\":1743013783,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_c4760ee73b\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_eh2z\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"# Hello\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-bf281494-81f2-4cdd-bec2-9ed2bf377f9b\",\"object\":\"chat.completion.chunk\",\"created\":1743013783,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_c4760ee73b\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vfa3cft3aw0ekb4a15rv6\",\"usage\":{\"queue_time\":0.100782493,\"prompt_tokens\":518,\"prompt_time\":0.035098835,\"completion_tokens\":21,\"completion_time\":0.093282808,\"total_tokens\":539,\"total_time\":0.128381643}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (paragraph)_1_6a17ee08b7600b6f7962a42cc0a5fb76.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (paragraph)_1_6a17ee08b7600b6f7962a42cc0a5fb76.json new file mode 100644 index 0000000000..4b93fafa06 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (paragraph)_1_6a17ee08b7600b6f7962a42cc0a5fb76.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"change first paragraph to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-65fd319e-03cb-4b8f-ad3f-4d2c204e40da\",\"object\":\"chat.completion.chunk\",\"created\":1743013784,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vfacaft39rz8wqkjfh9mz\"}}\n\ndata: {\"id\":\"chatcmpl-65fd319e-03cb-4b8f-ad3f-4d2c204e40da\",\"object\":\"chat.completion.chunk\",\"created\":1743013784,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_cd5g\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": \\\"**Hello**\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-65fd319e-03cb-4b8f-ad3f-4d2c204e40da\",\"object\":\"chat.completion.chunk\",\"created\":1743013784,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vfacaft39rz8wqkjfh9mz\",\"usage\":{\"queue_time\":0.100572914,\"prompt_tokens\":517,\"prompt_time\":0.074327871,\"completion_tokens\":26,\"completion_time\":0.094545455,\"total_tokens\":543,\"total_time\":0.168873326}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (word)_1_0b3695193b4bc884fdaca4bef0db238f.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (word)_1_0b3695193b4bc884fdaca4bef0db238f.json new file mode 100644 index 0000000000..3661c7c8ba --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/changes simple formatting (word)_1_0b3695193b4bc884fdaca4bef0db238f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello world\\\"}]\"},{\"role\":\"user\",\"content\":\"change first word to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-04c4a2ec-a2c5-4a20-abfc-98da0d60b2e8\",\"object\":\"chat.completion.chunk\",\"created\":1743013784,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vfasvff6skgg1z2j308b3\"}}\n\ndata: {\"id\":\"chatcmpl-04c4a2ec-a2c5-4a20-abfc-98da0d60b2e8\",\"object\":\"chat.completion.chunk\",\"created\":1743013784,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_53np\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": \\\"**Hello** world\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-04c4a2ec-a2c5-4a20-abfc-98da0d60b2e8\",\"object\":\"chat.completion.chunk\",\"created\":1743013784,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_b1483399f5\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vfasvff6skgg1z2j308b3\",\"usage\":{\"queue_time\":0.130141305,\"prompt_tokens\":509,\"prompt_time\":0.043084713,\"completion_tokens\":27,\"completion_time\":0.098181818,\"total_tokens\":536,\"total_time\":0.141266531}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/translates simple paragraphs_1_67a2b5a13103f36e1a0fae4bd52f206b.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/translates simple paragraphs_1_67a2b5a13103f36e1a0fae4bd52f206b.json new file mode 100644 index 0000000000..362dcb9ec1 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/groq.chat/llama-3.3-70b-versatile (streaming)/translates simple paragraphs_1_67a2b5a13103f36e1a0fae4bd52f206b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=groq&url=https%3A%2F%2Fapi.groq.com%2Fopenai%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"llama-3.3-70b-versatile\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-ebd2403d-54f8-4c2c-b733-0bc92949cfd6\",\"object\":\"chat.completion.chunk\",\"created\":1743013783,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null},\"logprobs\":null,\"finish_reason\":null}],\"x_groq\":{\"id\":\"req_01jq9vf9r1ff6v00p4xvv7d0jn\"}}\n\ndata: {\"id\":\"chatcmpl-ebd2403d-54f8-4c2c-b733-0bc92949cfd6\",\"object\":\"chat.completion.chunk\",\"created\":1743013783,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"id\":\"call_2b28\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"{\\\"operations\\\": [{\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"0$\\\", \\\"block\\\": \\\"Hallo\\\"}, {\\\"type\\\": \\\"update\\\", \\\"id\\\": \\\"1$\\\", \\\"block\\\": \\\"Welt\\\"}]}\"},\"index\":0}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-ebd2403d-54f8-4c2c-b733-0bc92949cfd6\",\"object\":\"chat.completion.chunk\",\"created\":1743013783,\"model\":\"llama-3.3-70b-versatile\",\"system_fingerprint\":\"fp_41c250edc7\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"tool_calls\"}],\"x_groq\":{\"id\":\"req_01jq9vf9r1ff6v00p4xvv7d0jn\",\"usage\":{\"queue_time\":0.100823991,\"prompt_tokens\":517,\"prompt_time\":0.043007609,\"completion_tokens\":44,\"completion_time\":0.16,\"total_tokens\":561,\"total_time\":0.203007609}}}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes block type (paragraph -> heading)_1_452d319981d5a519c6358930fdbda755.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes block type (paragraph -> heading)_1_452d319981d5a519c6358930fdbda755.json new file mode 100644 index 0000000000..bd2c564eb7 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes block type (paragraph -> heading)_1_452d319981d5a519c6358930fdbda755.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"change first paragraph to a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnCszDGljMCpUHEJMPrdZPbbMV7\",\n \"object\": \"chat.completion\",\n \"created\": 1743013766,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_WJJyy0u4ZJGD7mMPzXNjct8x\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"# Hello\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 225,\n \"completion_tokens\": 20,\n \"total_tokens\": 245,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (paragraph)_1_1885fc862cefe4c15707d8d10d546be4.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (paragraph)_1_1885fc862cefe4c15707d8d10d546be4.json new file mode 100644 index 0000000000..b54300b8d8 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (paragraph)_1_1885fc862cefe4c15707d8d10d546be4.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"change first paragraph to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnDWScX9unCD20a5HXFkkMbZrLO\",\n \"object\": \"chat.completion\",\n \"created\": 1743013767,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_tpPgKvyt1PdtQuhebQYVzf3j\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"**Hello**\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 224,\n \"completion_tokens\": 21,\n \"total_tokens\": 245,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (word)_1_75255425ea2b0fe181c9ac878e209e11.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (word)_1_75255425ea2b0fe181c9ac878e209e11.json new file mode 100644 index 0000000000..3fbb70971b --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/changes simple formatting (word)_1_75255425ea2b0fe181c9ac878e209e11.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello world\\\"}]\"},{\"role\":\"user\",\"content\":\"change first word to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnELOJAjmFRfnMiTWBzpUfgWe06\",\n \"object\": \"chat.completion\",\n \"created\": 1743013768,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_p2Vd4IxOFWfZC5ig0vkecHpj\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"**Hello** world\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 216,\n \"completion_tokens\": 22,\n \"total_tokens\": 238,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates paragraph with formatting_1_286855bd1a49d5d677070eb290b64e41.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates paragraph with formatting_1_286855bd1a49d5d677070eb290b64e41.json new file mode 100644 index 0000000000..8b89b19314 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates paragraph with formatting_1_286855bd1a49d5d677070eb290b64e41.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello world, **this is some bold** and some colored text\\\"}]\"},{\"role\":\"user\",\"content\":\"translate to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFhOZTdKknYFPjAccampZ70xdUVSM\",\n \"object\": \"chat.completion\",\n \"created\": 1743081431,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_fyCQwFTEnV33wrKAZVK0LYdt\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hallo Welt, **das ist etwas Fettgedrucktes** und etwas farbiger Text\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 229,\n \"completion_tokens\": 36,\n \"total_tokens\": 265,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_898ac29719\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates simple paragraphs_1_bd47c95b85fb9beee7d9279fd140476f.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates simple paragraphs_1_bd47c95b85fb9beee7d9279fd140476f.json new file mode 100644 index 0000000000..df0efc28ac --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates simple paragraphs_1_bd47c95b85fb9beee7d9279fd140476f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFc7OaaQTSh92eJVcQupoZeWJJf6Y\",\n \"object\": \"chat.completion\",\n \"created\": 1743061146,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_jjyDHOgiQDiMRPjhPwfcSoaU\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hallo\\\"},{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"Welt\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 228,\n \"completion_tokens\": 33,\n \"total_tokens\": 261,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_898ac29719\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates simple paragraphs_1_ca9771506d6a4f2a9a3abba331a35614.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates simple paragraphs_1_ca9771506d6a4f2a9a3abba331a35614.json new file mode 100644 index 0000000000..d98c01f8a6 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (non-streaming)/translates simple paragraphs_1_ca9771506d6a4f2a9a3abba331a35614.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}]}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "{\n \"id\": \"chatcmpl-BFPnA8T6kORAWrgX3g7lHzpA6LLFA\",\n \"object\": \"chat.completion\",\n \"created\": 1743013764,\n \"model\": \"gpt-4o-2024-08-06\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": null,\n \"tool_calls\": [\n {\n \"id\": \"call_KLCVlZ9ReFTnNI6MvI9EWtU0\",\n \"type\": \"function\",\n \"function\": {\n \"name\": \"json\",\n \"arguments\": \"{\\\"operations\\\":[{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hallo\\\"},{\\\"type\\\":\\\"update\\\",\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"Welt\\\"}]}\"\n }\n }\n ],\n \"refusal\": null,\n \"annotations\": []\n },\n \"logprobs\": null,\n \"finish_reason\": \"stop\"\n }\n ],\n \"usage\": {\n \"prompt_tokens\": 224,\n \"completion_tokens\": 33,\n \"total_tokens\": 257,\n \"prompt_tokens_details\": {\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\": {\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\": 0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\": \"default\",\n \"system_fingerprint\": \"fp_c1e1ac6736\"\n}\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes block type (paragraph -> heading)_1_065fe767e99f51fc800c1dd099d00009.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes block type (paragraph -> heading)_1_065fe767e99f51fc800c1dd099d00009.json new file mode 100644 index 0000000000..4c61c47a02 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes block type (paragraph -> heading)_1_065fe767e99f51fc800c1dd099d00009.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"change first paragraph to a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_K8JtFJOoFuY6vMTvUTxIZxmo\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"#\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7X9DWtVTtaLXzQe2njGUtU7VUI\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes block type (paragraph -> heading)_1_7c904010a589d44d907534216e45fcaa.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes block type (paragraph -> heading)_1_7c904010a589d44d907534216e45fcaa.json new file mode 100644 index 0000000000..1436de9718 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes block type (paragraph -> heading)_1_7c904010a589d44d907534216e45fcaa.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"change first paragraph to a heading\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_3qdvvYSwipdFOecS4dwbPWF8\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"#\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmsm3M3X6xArs6ja179FT44vzwh\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (paragraph)_1_930b1e729e0b50f4735a8b7dc0ace112.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (paragraph)_1_930b1e729e0b50f4735a8b7dc0ace112.json new file mode 100644 index 0000000000..069ecad368 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (paragraph)_1_930b1e729e0b50f4735a8b7dc0ace112.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"change first paragraph to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_GiHjj0GL922lNzjhmv5cFUQH\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"**\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"**\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7XPpObBkIodnktqCj4GJ5NdPxQ\",\"object\":\"chat.completion.chunk\",\"created\":1743061155,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (paragraph)_1_e39a2e6823a9141be63885d0f6a9eb27.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (paragraph)_1_e39a2e6823a9141be63885d0f6a9eb27.json new file mode 100644 index 0000000000..cc6cdb91fa --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (paragraph)_1_e39a2e6823a9141be63885d0f6a9eb27.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"change first paragraph to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_Gh4qojQal6kVnkRHfDledlpv\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"**\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"**\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmtkQQqN4FTB2cg8SBgZnAyTQU1\",\"object\":\"chat.completion.chunk\",\"created\":1743013747,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (word)_1_37e729dc1592ee88dca44d0e8863e781.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (word)_1_37e729dc1592ee88dca44d0e8863e781.json new file mode 100644 index 0000000000..d2509d47e6 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (word)_1_37e729dc1592ee88dca44d0e8863e781.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello world\\\"}]\"},{\"role\":\"user\",\"content\":\"change first word to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_18M9ZLjZnKXstXaPjIY1ESl5\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"**\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"**\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmwSUat0d9mw1ATMjw7zeITszDg\",\"object\":\"chat.completion.chunk\",\"created\":1743013750,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (word)_1_e95cbafee2032a211f07a60ccd9b594b.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (word)_1_e95cbafee2032a211f07a60ccd9b594b.json new file mode 100644 index 0000000000..427aa6bcd9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/changes simple formatting (word)_1_e95cbafee2032a211f07a60ccd9b594b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello world\\\"}]\"},{\"role\":\"user\",\"content\":\"change first word to bold\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_xlL2K6MQo9A7EKmNFpIzbfTG\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"**\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hello\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"**\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\" world\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFc7ZDeVlKJhlHK1B6AR7c2Np1hVF\",\"object\":\"chat.completion.chunk\",\"created\":1743061157,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_2e88c5b5df521c8274917d959677771b.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_2e88c5b5df521c8274917d959677771b.json new file mode 100644 index 0000000000..13915cc315 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_2e88c5b5df521c8274917d959677771b.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document. Make sure to follow the json schema provided. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_OrV53vUs2xZmqBOxCbZ9a6su\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hallo\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"W\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"elt\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFPmschL1rsb5J84kglea5TMDh847\",\"object\":\"chat.completion.chunk\",\"created\":1743013746,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_c1e1ac6736\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_3b950ac24dac73a7f08069776b81f09f.json b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_3b950ac24dac73a7f08069776b81f09f.json new file mode 100644 index 0000000000..6460948769 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/__snapshots__/markdownBlocks.test.ts/Update/__msw_snapshots__/openai.chat/gpt-4o-2024-08-06 (streaming)/translates simple paragraphs_1_3b950ac24dac73a7f08069776b81f09f.json @@ -0,0 +1,15 @@ +{ + "request": { + "method": "POST", + "url": "https://localhost:3000/ai?provider=openai&url=https%3A%2F%2Fapi.openai.com%2Fv1%2Fchat%2Fcompletions", + "body": "{\"model\":\"gpt-4o-2024-08-06\",\"temperature\":0,\"messages\":[{\"role\":\"system\",\"content\":\"You're manipulating a text document, use the tools provided to manipulate the markdown representation of the document. This is the document as an array of blocks in markdown:\"},{\"role\":\"system\",\"content\":\"[{\\\"id\\\":\\\"0$\\\",\\\"block\\\":\\\"Hello\\\"},{\\\"id\\\":\\\"1$\\\",\\\"block\\\":\\\"World\\\"}]\"},{\"role\":\"user\",\"content\":\"translate existing document to german\"}],\"tool_choice\":{\"type\":\"function\",\"function\":{\"name\":\"json\"}},\"tools\":[{\"type\":\"function\",\"function\":{\"name\":\"json\",\"description\":\"Respond with a JSON object.\",\"parameters\":{\"type\":\"object\",\"properties\":{\"operations\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"object\",\"description\":\"Update a block, the new block will replace the existing block.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"update\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to update\"},\"block\":{\"$ref\":\"#/$defs/block\"}},\"required\":[\"type\",\"id\",\"block\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Insert new blocks\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"add\"]},\"referenceId\":{\"type\":\"string\",\"description\":\"\"},\"position\":{\"type\":\"string\",\"enum\":[\"before\",\"after\"],\"description\":\"Whether new block(s) should be inserted before or after `referenceId`\"},\"blocks\":{\"items\":{\"$ref\":\"#/$defs/block\"},\"type\":\"array\"}},\"required\":[\"type\",\"referenceId\",\"position\",\"blocks\"],\"additionalProperties\":false},{\"type\":\"object\",\"description\":\"Delete a block\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"delete\"]},\"id\":{\"type\":\"string\",\"description\":\"id of block to delete\"}},\"required\":[\"type\",\"id\"],\"additionalProperties\":false}]}}},\"additionalProperties\":false,\"required\":[\"operations\"],\"$defs\":{\"block\":{\"type\":\"string\",\"description\":\"markdown of block\"}}}}}],\"stream\":true}", + "headers": [], + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "body": "data: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":null,\"tool_calls\":[{\"index\":0,\"id\":\"call_DwcOtjNPKeOEk6ACm2dtOFLi\",\"type\":\"function\",\"function\":{\"name\":\"json\",\"arguments\":\"\"}}],\"refusal\":null},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"operations\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":[\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"0\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"Hallo\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"},{\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"type\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"update\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"id\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"1\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"$\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\",\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"block\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\":\\\"\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"W\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"elt\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"\\\"}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{\"tool_calls\":[{\"index\":0,\"function\":{\"arguments\":\"]}\"}}]},\"logprobs\":null,\"finish_reason\":null}]}\n\ndata: {\"id\":\"chatcmpl-BFZ5CUAfgSq0kdFOr2nxzi1ThqwMw\",\"object\":\"chat.completion.chunk\",\"created\":1743049478,\"model\":\"gpt-4o-2024-08-06\",\"service_tier\":\"default\",\"system_fingerprint\":\"fp_898ac29719\",\"choices\":[{\"index\":0,\"delta\":{},\"logprobs\":null,\"finish_reason\":\"stop\"}]}\n\ndata: [DONE]\n\n", + "headers": [] + } +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/markdownBlocks.test.ts b/packages/xl-ai/src/api/formats/markdown-blocks/markdownBlocks.test.ts new file mode 100644 index 0000000000..02943034ae --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/markdownBlocks.test.ts @@ -0,0 +1,145 @@ +import { afterAll, afterEach, beforeAll, describe } from "vitest"; + +import { getCurrentTest } from "@vitest/runner"; +import { getSortedEntries, snapshot, toHashString } from "msw-snapshot"; +import { setupServer } from "msw/node"; +import path from "path"; +import { testAIModels } from "../../../testUtil/testAIModels.js"; +import { generateSharedTestCases } from "../tests/sharedTestCases.js"; +import { callLLM } from "./markdownBlocks.js"; + +const BASE_FILE_PATH = path.resolve( + __dirname, + "__snapshots__", + path.basename(__filename) +); + +// TODO: disable delays in applyOperations + +const fetchCountMap: Record = {}; + +async function createRequestHash(req: Request) { + const url = new URL(req.url); + return [ + // url.host, + // url.pathname, + toHashString([ + req.method, + url.origin, + url.pathname, + getSortedEntries(url.searchParams), + getSortedEntries(req.headers), + // getSortedEntries(req.cookies), + new TextDecoder("utf-8").decode(await req.arrayBuffer()), + ]), + ].join("/"); +} + +// Main test suite with snapshot middleware +describe("Models", () => { + // Define server with snapshot middleware for the main tests + const server = setupServer( + snapshot({ + updateSnapshots: "missing", + // onSnapshotUpdated: "all", + // ignoreSnapshots: true, + async createSnapshotPath(info) { + // use a unique path for each model + const t = getCurrentTest()!; + const mswPath = path.join( + t.suite!.name, // same directory as the test snapshot + "__msw_snapshots__", + t.suite!.suite!.name, // model / streaming params + t.name + ); + // in case there are multiple requests in a test, we need to use a separate snapshot for each request + fetchCountMap[mswPath] = (fetchCountMap[mswPath] || 0) + 1; + const hash = await createRequestHash(info.request); + return mswPath + `_${fetchCountMap[mswPath]}_${hash}.json`; + }, + basePath: BASE_FILE_PATH, + // onFetchFromSnapshot(info, snapshot) { + // console.log("onFetchFromSnapshot", info, snapshot); + // }, + // onFetchFromServer(info, snapshot) { + // console.log("onFetchFromServer", info, snapshot); + // }, + }) + ); + + beforeAll(() => { + server.listen(); + }); + + afterAll(() => { + server.close(); + }); + + afterEach(() => { + delete (window as Window & { __TEST_OPTIONS?: any }).__TEST_OPTIONS; + }); + + const testMatrix = [ + { + model: testAIModels.openai, + stream: true, + }, + { + model: testAIModels.openai, + stream: false, + }, + { + model: testAIModels.groq, + stream: true, + }, + { + model: testAIModels.groq, + stream: false, + }, + // TODO: https://github.com/vercel/ai/issues/5350 + // { + // model: albert, + // stream: true, + // }, + { + model: testAIModels.albert, + stream: false, + }, + + // { + // model: groq, + // }, + // // { + // // model: albert, + // // stream: true, + // // }, + ]; + + for (const params of testMatrix) { + describe(`${params.model.provider}/${params.model.modelId} (${ + params.stream ? "streaming" : "non-streaming" + })`, () => { + generateSharedTestCases( + (editor, options) => + callLLM(editor, { + ...options, + model: params.model, + maxRetries: 0, + stream: params.stream, + // _generateObjectOptions: { + // providerOptions: { + // "albert-etalab": { + // guided_decoding_backend: "outlines", + // }, + // }, + // }, + }), + // markdownblocks doesn't support these: + { + mentions: true, + textAlignment: true, + } + ); + }); + } +}); diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/markdownBlocks.ts b/packages/xl-ai/src/api/formats/markdown-blocks/markdownBlocks.ts new file mode 100644 index 0000000000..95e83e3644 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/markdownBlocks.ts @@ -0,0 +1,198 @@ +import { Block, BlockNoteEditor } from "@blocknote/core"; +import { generateObject, streamObject } from "ai"; +import type { PromptOrMessages } from "../../index.js"; +import { + promptManipulateDocumentUseMarkdownBlocks, + promptManipulateSelectionMarkdownBlocks, +} from "../../prompts/markdownBlocksPrompt.js"; +import { + generateOperations, + LLMRequestOptions, + streamOperations, +} from "../../streamTool/callLLMWithStreamTools.js"; +import { StreamTool } from "../../streamTool/streamTool.js"; +import { isEmptyParagraph } from "../../util/emptyBlock.js"; + +import { CallLLMResult } from "../CallLLMResult.js"; +import { + getDataForPromptNoSelection, + getDataForPromptWithSelection, +} from "./markdownPromptData.js"; +import { tools } from "./tools/index.js"; + +// TODO: this file is a copy from htmlBlocks.ts, we should refactor to share code? + +async function getMessages( + editor: BlockNoteEditor, + opts: { + selectedBlocks?: Block[]; + excludeBlockIds?: string[]; + } & PromptOrMessages, +) { + // TODO: child blocks + // TODO: document how to customize prompt + if ("messages" in opts && opts.messages) { + return opts.messages; + } else if (opts.selectedBlocks) { + if (opts.excludeBlockIds) { + throw new Error( + "expected excludeBlockIds to be false when selectedBlocks is provided", + ); + } + return promptManipulateSelectionMarkdownBlocks({ + ...(await getDataForPromptWithSelection(editor, opts.selectedBlocks)), + userPrompt: opts.userPrompt, + }); + } else { + if (opts.useSelection) { + throw new Error( + "expected useSelection to be false when selectedBlocks is not provided", + ); + } + return promptManipulateDocumentUseMarkdownBlocks({ + ...(await getDataForPromptNoSelection(editor, { + excludeBlockIds: opts.excludeBlockIds, + })), + userPrompt: opts.userPrompt, + }); + } +} + +function getStreamTools( + editor: BlockNoteEditor, + withDelays: boolean, + defaultStreamTools?: { + /** Enable the add tool (default: true) */ + add?: boolean; + /** Enable the update tool (default: true) */ + update?: boolean; + /** Enable the delete tool (default: true) */ + delete?: boolean; + }, + selectionInfo?: { + from: number; + to: number; + }, +) { + const mergedStreamTools = { + add: true, + update: true, + delete: true, + ...defaultStreamTools, + }; + + const streamTools: StreamTool[] = [ + ...(mergedStreamTools.update + ? [ + tools.update(editor, { + idsSuffixed: true, + withDelays, + updateSelection: selectionInfo, + }), + ] + : []), + ...(mergedStreamTools.add + ? [tools.add(editor, { idsSuffixed: true, withDelays })] + : []), + ...(mergedStreamTools.delete + ? [tools.delete(editor, { idsSuffixed: true, withDelays })] + : []), + ]; + + return streamTools; +} + +export async function callLLM( + editor: BlockNoteEditor, + opts: Omit & + PromptOrMessages & { + defaultStreamTools?: { + /** Enable the add tool (default: true) */ + add?: boolean; + /** Enable the update tool (default: true) */ + update?: boolean; + /** Enable the delete tool (default: true) */ + delete?: boolean; + }; + stream?: boolean; + deleteEmptyCursorBlock?: boolean; + onStart?: () => void; + withDelays?: boolean; + _generateObjectOptions?: Partial< + Parameters>[0] + >; + _streamObjectOptions?: Partial>[0]>; + }, +): Promise { + const { + userPrompt: prompt, + useSelection, + deleteEmptyCursorBlock, + stream, + onStart, + withDelays, + ...rest + } = { + deleteEmptyCursorBlock: true, + stream: true, + withDelays: true, + ...opts, + }; + + const cursorBlock = useSelection + ? undefined + : editor.getTextCursorPosition().block; + + const deleteCursorBlock: string | undefined = + cursorBlock && deleteEmptyCursorBlock && isEmptyParagraph(cursorBlock) + ? cursorBlock.id + : undefined; + + const selectionInfo = useSelection ? editor.getSelection2() : undefined; + + const messages = await getMessages(editor, { + ...opts, + selectedBlocks: selectionInfo?.blocks, + excludeBlockIds: deleteCursorBlock ? [deleteCursorBlock] : undefined, + }); + + const streamTools = getStreamTools( + editor, + withDelays, + opts.defaultStreamTools, + selectionInfo + ? { from: selectionInfo._meta.startPos, to: selectionInfo._meta.endPos } + : undefined, + ); + + let response: + | Awaited>> + | Awaited>>; + + if (stream || stream === undefined) { + response = await streamOperations( + streamTools, + { + messages, + ...rest, + }, + () => { + if (deleteCursorBlock) { + editor.removeBlocks([deleteCursorBlock]); + } + onStart?.(); + }, + ); + } else { + response = await generateOperations(streamTools, { + messages, + ...rest, + }); + if (deleteCursorBlock) { + editor.removeBlocks([deleteCursorBlock]); + } + onStart?.(); + } + + return new CallLLMResult(response, streamTools); +} diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/markdownPromptData.ts b/packages/xl-ai/src/api/formats/markdown-blocks/markdownPromptData.ts new file mode 100644 index 0000000000..271fe5676a --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/markdownPromptData.ts @@ -0,0 +1,37 @@ +import { + Block, + BlockNoteEditor +} from "@blocknote/core"; +import { addCursorPosition } from "../../prompts/promptHelpers/addCursorPosition.js"; +import { convertBlocks } from "../../prompts/promptHelpers/convertBlocks.js"; +import { suffixIDs } from "../../prompts/promptHelpers/suffixIds.js"; +import { trimEmptyBlocks } from "../../prompts/promptHelpers/trimEmptyBlocks.js"; + + export async function getDataForPromptNoSelection(editor: BlockNoteEditor, opts: { + excludeBlockIds?: string[] + }) { + const input = trimEmptyBlocks(editor.document); + const blockArray = await convertBlocks(input, async (block) => { + return editor.blocksToMarkdownLossy([block]); + }); + const withCursor = addCursorPosition(editor, blockArray); + const filtered = withCursor.filter(b => "cursor" in b || !(opts.excludeBlockIds || []).includes(b.id)); + const suffixed = suffixIDs(filtered); + return { + markdownBlocks: suffixed, + }; + } + + export async function getDataForPromptWithSelection(editor: BlockNoteEditor, selectedBlocks: Block[]) { + const htmlArray = await convertBlocks(selectedBlocks, async (block) => { + return editor.blocksToMarkdownLossy([block]); + }); + const suffixed = suffixIDs(htmlArray); + + return { + markdownSelectedBlocks: suffixed, + markdownDocument: (await convertBlocks(editor.document, async (block) => { + return editor.blocksToMarkdownLossy([block]); + })).map(({ block }) => ({block})), // strip ids so LLM can't accidentally issue updates to ids not in selection + }; + } \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/tools/index.ts b/packages/xl-ai/src/api/formats/markdown-blocks/tools/index.ts new file mode 100644 index 0000000000..1692231766 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/tools/index.ts @@ -0,0 +1,80 @@ +import { PartialBlock } from "@blocknote/core"; +import { + AddBlocksToolCall, + createAddBlocksTool, +} from "../../../tools/createAddBlocksTool.js"; +import { + createUpdateBlockTool, + UpdateBlockToolCall, +} from "../../../tools/createUpdateBlockTool.js"; +import { deleteBlockTool } from "../../../tools/delete.js"; +import { createMDRebaseTool } from "./rebaseTool.js"; +import { validateBlockFunction } from "./validate.js"; + +export const tools = { + add: createAddBlocksTool({ + description: "Insert new blocks", + schema: { + block: { + $ref: "#/$defs/block", + }, + $defs: { + block: { type: "string", description: "markdown of block" }, + }, + }, + validateBlock: validateBlockFunction, + rebaseTool: createMDRebaseTool, + toJSONToolCall: async (editor, chunk) => { + const blocks = await Promise.all( + chunk.operation.blocks.map(async (md) => { + const block = (await editor.tryParseMarkdownToBlocks(md.trim()))[0]; // TODO: trim + delete (block as any).id; + return block; + }), + ); + + // hacky + if ((window as any).__TEST_OPTIONS) { + (window as Window & { __TEST_OPTIONS?: any }).__TEST_OPTIONS.mockID = 0; + } + + return { + ...chunk.operation, + blocks, + } satisfies AddBlocksToolCall>; + }, + }), + update: createUpdateBlockTool({ + description: + "Update a block, the new block will replace the existing block.", + schema: { + block: { + $ref: "#/$defs/block", + }, + $defs: { + block: { type: "string", description: "markdown of block" }, + }, + }, + validateBlock: validateBlockFunction, + rebaseTool: createMDRebaseTool, + toJSONToolCall: async (editor, chunk) => { + const block = ( + await editor.tryParseMarkdownToBlocks(chunk.operation.block.trim()) + )[0]; + + delete (block as any).id; + // console.log("update", operation.block); + // console.log("md", block); + // hacky + if ((window as any).__TEST_OPTIONS) { + (window as Window & { __TEST_OPTIONS?: any }).__TEST_OPTIONS.mockID = 0; + } + + return { + ...chunk.operation, + block, + } satisfies UpdateBlockToolCall>; + }, + }), + delete: deleteBlockTool, +}; diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/tools/rebaseTool.ts b/packages/xl-ai/src/api/formats/markdown-blocks/tools/rebaseTool.ts new file mode 100644 index 0000000000..a2b0ed2876 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/tools/rebaseTool.ts @@ -0,0 +1,36 @@ +import { BlockNoteEditor, getBlock } from "@blocknote/core"; +import { Mapping } from "prosemirror-transform"; +import { updateToReplaceSteps } from "../../../../prosemirror/changeset.js"; +import { + getApplySuggestionsTr, + rebaseTool, +} from "../../../../prosemirror/rebaseTool.js"; + +export async function createMDRebaseTool( + id: string, + editor: BlockNoteEditor, +) { + const tr = getApplySuggestionsTr(editor); + const md = await editor.blocksToMarkdownLossy([getBlock(tr.doc, id)!]); + const blocks = await editor.tryParseMarkdownToBlocks(md); + + const steps = updateToReplaceSteps( + { + id, + block: blocks[0], + type: "update", + }, + tr.doc, + ); + + const stepMapping = new Mapping(); + for (const step of steps) { + const mapped = step.map(stepMapping); + if (!mapped) { + throw new Error("Failed to map step"); + } + tr.step(mapped); + stepMapping.appendMap(mapped.getMap()); + } + return rebaseTool(editor, tr); +} diff --git a/packages/xl-ai/src/api/formats/markdown-blocks/tools/validate.ts b/packages/xl-ai/src/api/formats/markdown-blocks/tools/validate.ts new file mode 100644 index 0000000000..35ffd27e42 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown-blocks/tools/validate.ts @@ -0,0 +1,15 @@ +import { InvalidOrOk } from "../../../streamTool/streamTool.js"; + +export function validateBlockFunction(block: any): InvalidOrOk { + if (typeof block !== "string") { + return { + result: "invalid", + reason: "block must be a string", + }; + } + + return { + result: "ok", + value: block, + }; +} diff --git a/packages/xl-ai/src/api/formats/markdown/markdown.test.ts b/packages/xl-ai/src/api/formats/markdown/markdown.test.ts new file mode 100644 index 0000000000..cb90122ee2 --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown/markdown.test.ts @@ -0,0 +1,109 @@ +import { afterAll, afterEach, beforeAll, describe } from "vitest"; + +import { getCurrentTest } from "@vitest/runner"; +import { getSortedEntries, snapshot, toHashString } from "msw-snapshot"; +import { setupServer } from "msw/node"; +import path from "path"; +import { testAIModels } from "../../../testUtil/testAIModels.js"; +import { generateSharedTestCases } from "../tests/sharedTestCases.js"; +import { callLLM } from "./markdown.js"; + +// Create client and models outside of test suites so they can be shared + +const BASE_FILE_PATH = path.resolve( + __dirname, + "__snapshots__", + path.basename(__filename) +); + +// TODO: disable delays in applyOperations + +const fetchCountMap: Record = {}; + +async function createRequestHash(req: Request) { + const url = new URL(req.url); + return [ + // url.host, + // url.pathname, + toHashString([ + req.method, + url.origin, + url.pathname, + getSortedEntries(url.searchParams), + getSortedEntries(req.headers), + // getSortedEntries(req.cookies), + new TextDecoder("utf-8").decode(await req.arrayBuffer()), + ]), + ].join("/"); +} + +// Main test suite with snapshot middleware +describe("Models", () => { + // Define server with snapshot middleware for the main tests + const server = setupServer( + snapshot({ + updateSnapshots: "missing", + // onSnapshotUpdated: "all", + // ignoreSnapshots: true, + async createSnapshotPath(info) { + // use a unique path for each model + const t = getCurrentTest()!; + const mswPath = path.join( + t.suite!.name, // same directory as the test snapshot + "__msw_snapshots__", + t.suite!.suite!.name, // model / streaming params + t.name + ); + // in case there are multiple requests in a test, we need to use a separate snapshot for each request + fetchCountMap[mswPath] = (fetchCountMap[mswPath] || 0) + 1; + const hash = await createRequestHash(info.request); + return mswPath + `_${fetchCountMap[mswPath]}_${hash}.json`; + }, + basePath: BASE_FILE_PATH, + // onFetchFromSnapshot(info, snapshot) { + // console.log("onFetchFromSnapshot", info, snapshot); + // }, + // onFetchFromServer(info, snapshot) { + // console.log("onFetchFromServer", info, snapshot); + // }, + }) + ); + + beforeAll(() => { + server.listen(); + }); + + afterAll(() => { + server.close(); + }); + + afterEach(() => { + delete (window as Window & { __TEST_OPTIONS?: any }).__TEST_OPTIONS; + }); + + const testMatrix = [ + { + model: testAIModels.openai, + }, + + { + model: testAIModels.groq, + }, + // { + // model: albert, + // stream: true, + // }, + ]; + + for (const params of testMatrix) { + describe(`${params.model.provider}/${params.model.modelId}`, () => { + generateSharedTestCases((editor, options) => + callLLM(editor, { + ...options, + model: params.model, + maxRetries: 0, + }) + ); + }); + } +}); diff --git a/packages/xl-ai/src/api/formats/markdown/markdown.ts b/packages/xl-ai/src/api/formats/markdown/markdown.ts new file mode 100644 index 0000000000..f7d7759cef --- /dev/null +++ b/packages/xl-ai/src/api/formats/markdown/markdown.ts @@ -0,0 +1,118 @@ +import { BlockNoteEditor } from "@blocknote/core"; +import { CoreMessage, LanguageModel, generateText } from "ai"; +import { markdownNodeDiff } from "../../../markdown/markdownNodeDiff.js"; +import { markdownNodeDiffToBlockOperations } from "../../../markdown/markdownOperations.js"; +import { + getApplySuggestionsTr, + rebaseTool, +} from "../../../prosemirror/rebaseTool.js"; +import { applyOperations } from "../../executor/streamOperations/applyOperations.js"; +import type { PromptOrMessages } from "../../index.js"; +import { + promptManipulateDocumentUseMarkdown, + promptManipulateDocumentUseMarkdownWithSelection, +} from "../../prompts/markdownPrompts.js"; +import { + asyncIterableToStream, + createAsyncIterableStream, +} from "../../util/stream.js"; +import { trimArray } from "../../util/trimArray.js"; + +type BasicLLMRequestOptions = { + model: LanguageModel; + maxRetries?: number; +} & PromptOrMessages; + +type MarkdownLLMRequestOptions = BasicLLMRequestOptions & { + _generateTextOptions?: Partial>[0]>; +}; + +export async function callLLM( + editor: BlockNoteEditor, + options: MarkdownLLMRequestOptions +) { + let messages: CoreMessage[]; + // TODO: add test with empty paragraphs at end, this should break without trim() + const markdown = (await editor.blocksToMarkdownLossy()).trim(); + + if ("messages" in options && options.messages) { + messages = options.messages; + } else if (options.useSelection) { + const selection = editor.getDocumentWithSelectionMarkers(); + const markdown = (await editor.blocksToMarkdownLossy(selection)).trim(); + messages = promptManipulateDocumentUseMarkdownWithSelection({ + editor, + markdown, + userPrompt: (options as any).prompt, + }); + } else { + messages = promptManipulateDocumentUseMarkdown({ + editor, + markdown, + userPrompt: (options as any).prompt, + }); + } + + const withDefaults: Required< + Omit + > = { + messages, + maxRetries: 2, + ...(options as any), // TODO + }; + + const ret = await generateText({ + model: withDefaults.model, + messages: withDefaults.messages, + maxRetries: withDefaults.maxRetries, + ...options._generateTextOptions, + }); + + const blocks = trimArray(editor.document, (block) => { + return ( + block.type === "paragraph" && + Array.isArray(block.content) && + block.content.length === 0 + ); + }); + const newMarkdown = ret.text.trim(); + // Test\n\nHello + const diff = await markdownNodeDiff(markdown, newMarkdown); + const operations = await markdownNodeDiffToBlockOperations( + editor, + blocks, + diff + ); + + async function* singleChunkGenerator() { + for (const operation of operations) { + yield { + operation, + isUpdateToPreviousOperation: false, + isPossiblyPartial: false, + }; + } + } + + const resultGenerator = applyOperations( + editor, + singleChunkGenerator(), + async (_id) => { + return rebaseTool(editor, getApplySuggestionsTr(editor)); + } + ); + + // Convert to stream at the API boundary + const resultStream = asyncIterableToStream(resultGenerator); + const asyncIterableResultStream = createAsyncIterableStream(resultStream); + + return { + resultStream: asyncIterableResultStream, + async apply() { + /* eslint-disable-next-line */ + for await (const _result of asyncIterableResultStream) { + // no op + } + }, + }; +} diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Delete/deletes a paragraph.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Delete/deletes a paragraph.json new file mode 100644 index 0000000000..5ebf605cee --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Delete/deletes a paragraph.json @@ -0,0 +1,19 @@ +[ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "World", + "type": "text", + }, + ], + "id": "1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, +] \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Insert/inserts a paragraph at end.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Insert/inserts a paragraph at end.json new file mode 100644 index 0000000000..9b06f9fa1b --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Insert/inserts a paragraph at end.json @@ -0,0 +1,36 @@ +[ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Hello", + "type": "text", + }, + ], + "id": "0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Test", + "type": "text", + }, + ], + "id": "1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, +] \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Insert/inserts a paragraph at start.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Insert/inserts a paragraph at start.json new file mode 100644 index 0000000000..0975b7aeb9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Insert/inserts a paragraph at start.json @@ -0,0 +1,36 @@ +[ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Test", + "type": "text", + }, + ], + "id": "1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Hello", + "type": "text", + }, + ], + "id": "0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, +] \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/drop mark and link and change text within mark.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/drop mark and link and change text within mark.json new file mode 100644 index 0000000000..0b460a7b22 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/drop mark and link and change text within mark.json @@ -0,0 +1,218 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref2", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "type": "mention", + }, + { + "text": "! How ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref3", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "Hello", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": "Hi", + "type": "text", + }, + { + "text": ", world! ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + { + "type": "bold", + }, + ], + "text": "Bold", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": "Bold the", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + { + "type": "bold", + }, + ], + "text": " text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": " text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "Link.", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/drop mark and link.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/drop mark and link.json new file mode 100644 index 0000000000..7987976828 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/drop mark and link.json @@ -0,0 +1,167 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref2", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "type": "mention", + }, + { + "text": "! How ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref3", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world! ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + { + "type": "bold", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "Link.", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/plain source block, add mention.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/plain source block, add mention.json new file mode 100644 index 0000000000..0e646251d4 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/plain source block, add mention.json @@ -0,0 +1,161 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "world", + "type": "text", + }, + { + "attrs": { + "user": "Jane Doe", + }, + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "type": "mention", + }, + { + "text": "!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref2", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "type": "mention", + }, + { + "text": "! How ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref3", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world! ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/remove column.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/remove column.json new file mode 100644 index 0000000000..5e9635ce10 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/remove column.json @@ -0,0 +1,289 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 1", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "Table Cell 2", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 3", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 4", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + { + "type": "bold", + }, + ], + "text": "Table Cell Bold 5", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 6", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 7", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "Table Cell 8", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 9", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + ], + "type": "table", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/remove last row.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/remove last row.json new file mode 100644 index 0000000000..866ab5977b --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/remove last row.json @@ -0,0 +1,275 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 1", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 2", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 3", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 4", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Table Cell Bold 5", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 6", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "Table Cell 7", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "Table Cell 8", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "Table Cell 9", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "type": "tableRow", + }, + ], + "type": "table", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/remove row.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/remove row.json new file mode 100644 index 0000000000..feae3118cd --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/remove row.json @@ -0,0 +1,273 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 1", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 2", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 3", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "Table Cell 4", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + { + "type": "bold", + }, + ], + "text": "Table Cell Bold 5", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "Table Cell 6", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 7", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 8", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 9", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + ], + "type": "table", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/standard update.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/standard update.json new file mode 100644 index 0000000000..4cf65926be --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/standard update.json @@ -0,0 +1,187 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "H", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "e", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": "a", + "type": "text", + }, + { + "text": "llo, ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "world", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": "Welt", + "type": "text", + }, + { + "text": "!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref2", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "type": "mention", + }, + { + "text": "! How ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref3", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world! ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in source block, remove mark.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in source block, remove mark.json new file mode 100644 index 0000000000..88c9e6ff71 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in source block, remove mark.json @@ -0,0 +1,149 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref2", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "type": "mention", + }, + { + "text": "! How ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref3", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world! ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in source block, remove mention.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in source block, remove mention.json new file mode 100644 index 0000000000..362dce7d42 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in source block, remove mention.json @@ -0,0 +1,151 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref2", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": ", ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "type": "mention", + }, + { + "text": "! How ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref3", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world! ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in source block, replace content.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in source block, replace content.json new file mode 100644 index 0000000000..abfed580e0 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in source block, replace content.json @@ -0,0 +1,171 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref2", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "type": "mention", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "! How ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue!", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": "updated content", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref3", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world! ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in source block, update mention prop.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in source block, update mention prop.json new file mode 100644 index 0000000000..d25d75fa10 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in source block, update mention prop.json @@ -0,0 +1,153 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref2", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "type": "mention", + }, + { + "attrs": { + "user": "Jane Doe", + }, + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "type": "mention", + }, + { + "text": "! How ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref3", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world! ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in source block, update text.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in source block, update text.json new file mode 100644 index 0000000000..7f9b605a1f --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in source block, update text.json @@ -0,0 +1,240 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref2", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "H", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "e", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": "a", + "type": "text", + }, + { + "text": "llo, ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "type": "mention", + }, + { + "text": "! ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "How ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": "Wie ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + { + "type": "bold", + }, + ], + "text": "geht es dir? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "Mir ist zumute nach Blau", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref3", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world! ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in target block, add mark (paragraph).json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in target block, add mark (paragraph).json new file mode 100644 index 0000000000..b7e67bb2ec --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in target block, add mark (paragraph).json @@ -0,0 +1,154 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "Hello, world!", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + { + "type": "bold", + }, + ], + "text": "Hello, world!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref2", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "type": "mention", + }, + { + "text": "! How ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref3", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world! ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in target block, add mark (word).json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in target block, add mark (word).json new file mode 100644 index 0000000000..a142458864 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/styles + ic in target block, add mark (word).json @@ -0,0 +1,158 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "world!", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + { + "type": "bold", + }, + ], + "text": "world!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref2", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "type": "mention", + }, + { + "text": "! How ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref3", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world! ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update block prop and content.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update block prop and content.json new file mode 100644 index 0000000000..3fa565049d --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update block prop and content.json @@ -0,0 +1,167 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "right", + }, + "content": [ + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "Hello", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": "What's up", + "type": "text", + }, + { + "text": ", world!", + "type": "text", + }, + ], + "marks": [ + { + "attrs": { + "attrName": "textAlignment", + "id": null, + "newValue": "right", + "previousValue": "left", + "type": "attr", + }, + "type": "modification", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref2", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "type": "mention", + }, + { + "text": "! How ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref3", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world! ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update block prop.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update block prop.json new file mode 100644 index 0000000000..5b76ec592e --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update block prop.json @@ -0,0 +1,143 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "right", + }, + "content": [ + { + "text": "Hello, world!", + "type": "text", + }, + ], + "marks": [ + { + "attrs": { + "attrName": "textAlignment", + "id": null, + "newValue": "right", + "previousValue": "left", + "type": "attr", + }, + "type": "modification", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref2", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "type": "mention", + }, + { + "text": "! How ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref3", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world! ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update block type and content.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update block type and content.json new file mode 100644 index 0000000000..29cfecb001 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update block type and content.json @@ -0,0 +1,178 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "level": 1, + "textAlignment": "left", + }, + "content": [ + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "Hello", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": "What's up", + "type": "text", + }, + { + "text": ", world!", + "type": "text", + }, + ], + "marks": [ + { + "attrs": { + "attrName": null, + "id": null, + "newValue": "heading", + "previousValue": "paragraph", + "type": "nodeType", + }, + "type": "modification", + }, + { + "attrs": { + "attrName": "level", + "id": null, + "newValue": 1, + "previousValue": null, + "type": "attr", + }, + "type": "modification", + }, + ], + "type": "heading", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref2", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "type": "mention", + }, + { + "text": "! How ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref3", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world! ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update block type.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update block type.json new file mode 100644 index 0000000000..1eecb7b3cc --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update block type.json @@ -0,0 +1,154 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "level": 1, + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world!", + "type": "text", + }, + ], + "marks": [ + { + "attrs": { + "attrName": null, + "id": null, + "newValue": "heading", + "previousValue": "paragraph", + "type": "nodeType", + }, + "type": "modification", + }, + { + "attrs": { + "attrName": "level", + "id": null, + "newValue": 1, + "previousValue": null, + "type": "attr", + }, + "type": "modification", + }, + ], + "type": "heading", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref2", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "type": "mention", + }, + { + "text": "! How ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + { + "attrs": { + "backgroundColor": "default", + "id": "ref3", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "Hello, world! ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update table cell.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update table cell.json new file mode 100644 index 0000000000..670c557226 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update table cell.json @@ -0,0 +1,263 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "Table Cell 1", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": "Hello, world!", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 2", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 3", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 4", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Table Cell Bold 5", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 6", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 7", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 8", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 9", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + ], + "type": "table", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update table to caps.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update table to caps.json new file mode 100644 index 0000000000..670c557226 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update (formatting)/update table to caps.json @@ -0,0 +1,263 @@ +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "ref1", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + ], + "text": "Table Cell 1", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + ], + "text": "Hello, world!", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 2", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 3", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 4", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Table Cell Bold 5", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 6", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 7", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 8", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 9", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + ], + "type": "table", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/changes block type (paragraph -> heading).json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/changes block type (paragraph -> heading).json new file mode 100644 index 0000000000..bce964c4f9 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/changes block type (paragraph -> heading).json @@ -0,0 +1,37 @@ +[ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Hello", + "type": "text", + }, + ], + "id": "0", + "props": { + "backgroundColor": "default", + "level": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "heading", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "World", + "type": "text", + }, + ], + "id": "1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, +] \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/changes simple formatting (paragraph).json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/changes simple formatting (paragraph).json new file mode 100644 index 0000000000..04d724d220 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/changes simple formatting (paragraph).json @@ -0,0 +1,38 @@ +[ + { + "children": [], + "content": [ + { + "styles": { + "bold": true, + }, + "text": "Hello", + "type": "text", + }, + ], + "id": "0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "World", + "type": "text", + }, + ], + "id": "1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, +] \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/changes simple formatting (test).json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/changes simple formatting (test).json new file mode 100644 index 0000000000..04d724d220 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/changes simple formatting (test).json @@ -0,0 +1,38 @@ +[ + { + "children": [], + "content": [ + { + "styles": { + "bold": true, + }, + "text": "Hello", + "type": "text", + }, + ], + "id": "0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "World", + "type": "text", + }, + ], + "id": "1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, +] \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/changes simple formatting (word).json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/changes simple formatting (word).json new file mode 100644 index 0000000000..5ef0183e22 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/changes simple formatting (word).json @@ -0,0 +1,26 @@ +[ + { + "children": [], + "content": [ + { + "styles": { + "bold": true, + }, + "text": "Hello", + "type": "text", + }, + { + "styles": {}, + "text": " world", + "type": "text", + }, + ], + "id": "0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, +] \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/translates paragraph with formatting.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/translates paragraph with formatting.json new file mode 100644 index 0000000000..6fb1586c98 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/translates paragraph with formatting.json @@ -0,0 +1,38 @@ +[ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Hallo Welt, ", + "type": "text", + }, + { + "styles": { + "bold": true, + }, + "text": "das ist etwas Fettgedrucktes", + "type": "text", + }, + { + "styles": {}, + "text": " und etwas ", + "type": "text", + }, + { + "styles": { + "textColor": "red", + }, + "text": " farbiger Text", + "type": "text", + }, + ], + "id": "0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, +] \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/translates simple paragraphs.json b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/translates simple paragraphs.json new file mode 100644 index 0000000000..2bbdb27662 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/__snapshots__/Update/translates simple paragraphs.json @@ -0,0 +1,36 @@ +[ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Hallo", + "type": "text", + }, + ], + "id": "0", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Welt", + "type": "text", + }, + ], + "id": "1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, +] \ No newline at end of file diff --git a/packages/xl-ai/src/api/formats/tests/checkMswSnapshots.test.ts b/packages/xl-ai/src/api/formats/tests/checkMswSnapshots.test.ts new file mode 100644 index 0000000000..d249b56ef1 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/checkMswSnapshots.test.ts @@ -0,0 +1,64 @@ +import * as glob from "glob"; +import path from "path"; +import { describe, it } from "vitest"; + +/** + * We should only have one snapshot file per test, this test ensures that + * + * If this test fails, you probably changed something in the request to an LLM. + * This causes MSW to generate a new snapshot (with a different hash). + * If that's intended, make sure to delete the old snapshot files. + */ +describe("MSW Snapshots", () => { + it("should only have one snapshot file per test", async () => { + const snapshotFiles = glob.sync( + path.join(__dirname, "../**/__msw_snapshots__/**/*.json") + ); + + // Group files by test name (excluding the sequence number and hash) + const testGroups: Record = {}; + + for (const file of snapshotFiles) { + // Extract the base name (removing the _1_, _2_ etc. and hash) + const match = file.match(/(.*)_\d+_[a-f0-9]+\.json$/); + if (match) { + const baseName = match[1]; + if (!testGroups[baseName]) { + testGroups[baseName] = []; + } + testGroups[baseName].push(file); + } else { + throw new Error(`Invalid snapshot file: ${file}`); + } + } + + // Filter and get tests with multiple snapshot files + const duplicates = Object.entries(testGroups) + .filter(([_, files]) => files.length > 1) + .map(([testName, files]) => ({ + testName: path.basename(testName), + count: files.length, + files: files.map((file) => path.basename(file)), + })); + + // Create error message if duplicates are found + const errorMessage = + duplicates.length > 0 + ? [ + `Found duplicate MSW snapshot files for the following (${duplicates.length}) tests:`, + ...duplicates.map( + ({ testName, count, files }) => + ` - ${testName}: ${count} files\n ${files.join("\n ")}` + ), + "", + "Each test should have only one snapshot file.", + "Please clean up the duplicate snapshots by keeping only the most relevant one for each test.", + ].join("\n") + : ""; + + // Throw an error with the message if duplicates found + if (duplicates.length > 0) { + throw new Error(errorMessage); + } + }); +}); diff --git a/packages/xl-ai/src/api/formats/tests/sharedTestCases.ts b/packages/xl-ai/src/api/formats/tests/sharedTestCases.ts new file mode 100644 index 0000000000..376b324a11 --- /dev/null +++ b/packages/xl-ai/src/api/formats/tests/sharedTestCases.ts @@ -0,0 +1,168 @@ +import { BlockNoteEditor, PartialBlock } from "@blocknote/core"; +import { describe, expect, it } from "vitest"; + +import { getCurrentTest } from "@vitest/runner"; +import path from "path"; +import { createAIExtension, getAIExtension } from "../../../AIExtension.js"; +import { testUpdateOperations } from "../../../testUtil/updates/updateOperations.js"; +import { CallLLMResult } from "../CallLLMResult.js"; + +const BASE_FILE_PATH = path.resolve(__dirname, "__snapshots__"); + +function createEditor(initialContent: PartialBlock[]) { + return BlockNoteEditor.create({ + initialContent, + _extensions: { + ai: createAIExtension({ + model: undefined as any, + }), + }, + }); +} + +async function matchFileSnapshot(data: any, postFix = "") { + const t = getCurrentTest()!; + // this uses the same snapshot path, regardless of the model / streaming params + await expect(data).toMatchFileSnapshot( + path.resolve( + BASE_FILE_PATH, + t.suite!.name, + t.name + (postFix ? `_${postFix}` : "") + ".json" + ) + ); +} + +export function generateSharedTestCases( + callLLM: ( + editor: BlockNoteEditor, + params: { userPrompt: string } + ) => Promise, + skipTestsRequiringCapabilities?: { + mentions?: boolean; + textAlignment?: boolean; + } +) { + describe("Update (formatting)", () => { + for (const test of testUpdateOperations) { + it(test.description, async (c) => { + if ( + skipTestsRequiringCapabilities && + Object.keys(test.requiredCapabilities || {}).some( + (c) => + skipTestsRequiringCapabilities[ + c as keyof typeof skipTestsRequiringCapabilities + ] === true + ) + ) { + c.skip(); + } + + const editor = test.editor(); + const result = await callLLM(editor, { + userPrompt: test.userPrompt, + }); + await result.execute(); + + // the prosemirrorState has all details with suggested changes, so we use this for the snapshot + await matchFileSnapshot(editor.prosemirrorState.doc.toJSON()); + // console.log( + // JSON.stringify(editor.prosemirrorState.doc.toJSON(), null, 2) + // ); + + // apply the update defined in the test to a new editor, + // and compare the result + const editorCompare = test.editor(); + editorCompare.updateBlock(test.updateOp.id, test.updateOp.block); + + // we first need to accept changes to get the correct result + getAIExtension(editor).acceptChanges(); + + expect(editor.document).toEqual(editorCompare.document); + }); + } + }); + + describe("Delete", () => { + it("deletes a paragraph", async () => { + const editor = createEditor([ + { + type: "paragraph", + content: "Hello", + }, + { + type: "paragraph", + content: "World", + }, + ]); + const result = await callLLM(editor, { + userPrompt: "delete the first sentence", + }); + + await result.execute(); + + // we first need to accept changes to get the correct result + getAIExtension(editor).acceptChanges(); + + await matchFileSnapshot(editor.document); + }); + }); + + describe("Insert", () => { + it("inserts a paragraph at start", async () => { + const editor = createEditor([ + { + type: "paragraph", + content: "Hello", + }, + ]); + const result = await callLLM(editor, { + userPrompt: "Add a sentence with `Test` before the first sentence", + }); + + // for await (const op of result.llmResult.streamObjectResult?.fullStream) { + // console.log(op); + // // console.log(result.llmResult.streamObjectResult?.fullStream.locked); + // } + + // for await (const op of result.llmResult.operationsSource) { + // console.log(op); + // // console.log(result.llmResult.streamObjectResult?.fullStream.locked); + // } + + // for await (const op of result.llmResult.operationsSource) { + // console.log(op); + // // console.log(result.llmResult.streamObjectResult?.fullStream.locked); + // } + + await result.execute(); + + // console.log( + // JSON.stringify(editor.prosemirrorState.doc.toJSON(), null, 2) + // ); + // const co = await (result.llmResult as StreamObjectResult).; + // we first need to accept changes to get the correct result + getAIExtension(editor).acceptChanges(); + + await matchFileSnapshot(editor.document); + }); + + it("inserts a paragraph at end", async () => { + const editor = createEditor([ + { + type: "paragraph", + content: "Hello", + }, + ]); + const result = await callLLM(editor, { + userPrompt: `Add a paragraph with text "Test" after the first paragraph`, + }); + + await result.execute(); + + // we first need to accept changes to get the correct result + getAIExtension(editor).acceptChanges(); + + await matchFileSnapshot(editor.document); + }); + }); +} diff --git a/packages/xl-ai/src/api/index.ts b/packages/xl-ai/src/api/index.ts new file mode 100644 index 0000000000..64241965e2 --- /dev/null +++ b/packages/xl-ai/src/api/index.ts @@ -0,0 +1,30 @@ +import { CoreMessage } from "ai"; +import { callLLM as callLLMHTML } from "./formats/html-blocks/htmlBlocks.js"; +import { callLLM as callLLMJSON } from "./formats/json/json.js"; +import { callLLM as callLLMMarkdown } from "./formats/markdown-blocks/markdownBlocks.js"; + +export const llm = { + json: { + call: callLLMJSON, + }, + markdown: { + call: callLLMMarkdown, + }, + html: { + call: callLLMHTML, + }, +}; + +// TODO: good practice like this? +export type PromptOrMessages = + | { + + useSelection?: boolean; + userPrompt: string; + messages?: never; + } + | { + useSelection?: never; + userPrompt?: never; + messages: Array; + }; diff --git a/packages/xl-ai/src/api/prompts/htmlBlocksPrompt.ts b/packages/xl-ai/src/api/prompts/htmlBlocksPrompt.ts new file mode 100644 index 0000000000..c77a1d9eaf --- /dev/null +++ b/packages/xl-ai/src/api/prompts/htmlBlocksPrompt.ts @@ -0,0 +1,86 @@ +import { CoreMessage } from "ai"; + +// TODO don't include child block +export function promptManipulateSelectionHTMLBlocks(opts: { + userPrompt: string; + htmlSelectedBlocks: { + id: string; + block: string; + }[]; + htmlDocument: { + block: string; + }[]; +}): Array { + return [ + { + role: "system", + content: `You're manipulating a selected part of a text document using HTML blocks. + Make sure to follow the json schema provided and always include the trailing $ in ids. + This is the selection as an array of html blocks:`, + }, + { + role: "system", + content: JSON.stringify(opts.htmlSelectedBlocks), + }, + + { + role: "system", + content: + "This is the entire document (INCLUDING the selected text), find the selected text in there to understand the context:", + }, + { + role: "system", + content: JSON.stringify(opts.htmlDocument), + }, + { + role: "system", + content: "The user asks you to do the following:", + }, + { + role: "user", + content: opts.userPrompt, + }, + ]; +} + +export function promptManipulateDocumentUseHTMLBlocks(opts: { + userPrompt: string; + htmlBlocks: Array< + | { + id: string; + block: string; + } + | { + cursor: true; + } + >; +}): Array { + return [ + { + role: "system", + content: `You're manipulating a text document using HTML blocks. + Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). + This is the document as an array of html blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):`, + }, + { + role: "system", + content: JSON.stringify(opts.htmlBlocks), + }, + { + role: "system", + content: "The user asks you to do the following:", + }, + { + role: "user", + content: opts.userPrompt, + }, + { + role: "system", + content: `First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed. + EXAMPLE: if user says "below" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. + EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need \`referenceId\` to point to the block before the cursor with position \`after\` (or block below and \`before\`). + + Prefer updating blocks over adding or removing (but this also depends on the user's question).`, + }, + ]; +} diff --git a/packages/xl-ai/src/api/prompts/jsonSchemaPrompts copy.ts.bak b/packages/xl-ai/src/api/prompts/jsonSchemaPrompts copy.ts.bak new file mode 100644 index 0000000000..b8b9919b7a --- /dev/null +++ b/packages/xl-ai/src/api/prompts/jsonSchemaPrompts copy.ts.bak @@ -0,0 +1,99 @@ +import { BlockNoteEditor } from "@blocknote/core"; +import { CoreMessage } from "ai"; +import { suffixIDs } from "../util/suffixIDs.js"; + +// TODO don't include child block +export function promptManipulateSelectionJSONSchema(opts: { + editor: BlockNoteEditor; + userPrompt: string; + document: any; +}): Array { + if (!opts.editor.getSelection()) { + throw new Error("No selection"); + } + return [ + { + role: "system", + content: `You're manipulating a text document. Make sure to follow the json schema provided. + The user selected everything between [$! and !$], including blocks in between.`, + }, + { + role: "system", + content: JSON.stringify(suffixIDs(opts.document)), + }, + { + role: "system", + content: + "Make sure to ONLY affect the selected text and blocks (split words if necessary), and don't include the markers in the response.", + }, + { + role: "user", + content: opts.userPrompt, + }, + ]; +} + +export function promptManipulateDocumentUseJSONSchema(opts: { + editor: BlockNoteEditor; + userPrompt: string; + document: any; +}): Array { + return [ + { + role: "system", + content: + "You're helping the user redact / write a rich text document (in JSON format).", + }, + { + role: "system", + content: "This is what the user wants you to do:", + }, + { + role: "user", + content: opts.userPrompt, + }, + { + role: "system", + content: "This is the document the user wants to update:", + }, + { + role: "system", + content: JSON.stringify(suffixIDs(opts.document)), + }, + { + role: "system", + content: + "Use the JSON schema provided. For reference, here's an example of how the block format works: \n" + + JSON.stringify({ + type: "paragraph", + props: {}, + content: [ + { + styles: {}, + type: "text", + text: "A sentence with regular text.", + }, + { + styles: { + bold: true, + }, + type: "text", + text: "Bold text", + }, + { + styles: { + italic: true, + }, + type: "text", + text: " and italic text", + }, + ], + }), + }, + { + role: "system", + content: `First, decide if the user wants you to add / remove / update blocks, or a combination. + When updating an existing block, make sure to take the existing text (block content) and update it, don't just add text at the end of the block unless the user asks for it.`, + }, + ]; +} diff --git a/packages/xl-ai/src/api/prompts/jsonSchemaPrompts.ts b/packages/xl-ai/src/api/prompts/jsonSchemaPrompts.ts new file mode 100644 index 0000000000..c177594778 --- /dev/null +++ b/packages/xl-ai/src/api/prompts/jsonSchemaPrompts.ts @@ -0,0 +1,78 @@ +import { CoreMessage } from "ai"; + +// TODO don't include child block +export function promptManipulateSelectionJSONBlocks(opts: { + userPrompt: string; + jsonSelectedBlocks: any[]; + jsonDocument: any[]; +}): Array { + return [ + { + role: "system", + content: `You're manipulating a selected part of a text document using JSON blocks. + Make sure to follow the json schema provided and always include the trailing $ in ids. + This is the selection as an array of JSON blocks:`, + }, + { + role: "system", + content: JSON.stringify(opts.jsonSelectedBlocks), + }, + + { + role: "system", + content: + "This is the entire document (INCLUDING the selected text), find the selected text in there to understand the context:", + }, + { + role: "system", + content: JSON.stringify(opts.jsonDocument), + }, + { + role: "system", + content: "The user asks you to do the following:", + }, + { + role: "user", + content: opts.userPrompt, + }, + ]; +} + +export function promptManipulateDocumentUseJSONBlocks(opts: { + userPrompt: string; + jsonBlocks: Array< + | any + | { + cursor: true; + } + >; +}): Array { + return [ + { + role: "system", + content: `You're manipulating a text document using JSON blocks. + Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). + This is the document as an array of JSON blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):`, + }, + { + role: "system", + content: JSON.stringify(opts.jsonBlocks), + }, + { + role: "system", + content: "The user asks you to do the following:", + }, + { + role: "user", + content: opts.userPrompt, + }, + { + role: "system", + content: `First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed. + EXAMPLE: if user says "below" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. + EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need \`referenceId\` to point to the block before the cursor with position \`after\` (or block below and \`before\`). + + Prefer updating blocks over adding or removing (but this also depends on the user's question).`, + }, + ]; +} diff --git a/packages/xl-ai/src/api/prompts/markdownBlocksPrompt.ts b/packages/xl-ai/src/api/prompts/markdownBlocksPrompt.ts new file mode 100644 index 0000000000..61cc3e781a --- /dev/null +++ b/packages/xl-ai/src/api/prompts/markdownBlocksPrompt.ts @@ -0,0 +1,86 @@ +import { CoreMessage } from "ai"; + +// TODO don't include child block +export function promptManipulateSelectionMarkdownBlocks(opts: { + userPrompt: string; + markdownSelectedBlocks: { + id: string; + block: string; + }[]; + markdownDocument: { + block: string; + }[]; +}): Array { + return [ + { + role: "system", + content: `You're manipulating a selected part of a text document using markdown blocks. + Make sure to follow the json schema provided and always include the trailing $ in ids. + This is the selection as an array of markdown blocks:`, + }, + { + role: "system", + content: JSON.stringify(opts.markdownSelectedBlocks), + }, + + { + role: "system", + content: + "This is the entire document (INCLUDING the selected text), find the selected text in there to understand the context:", + }, + { + role: "system", + content: JSON.stringify(opts.markdownDocument), + }, + { + role: "system", + content: "The user asks you to do the following:", + }, + { + role: "user", + content: opts.userPrompt, + }, + ]; +} + +export function promptManipulateDocumentUseMarkdownBlocks(opts: { + userPrompt: string; + markdownBlocks: Array< + | { + id: string; + block: string; + } + | { + cursor: true; + } + >; +}): Array { + return [ + { + role: "system", + content: `You're manipulating a text document using markdown blocks. + Make sure to follow the json schema provided. When referencing ids they MUST be EXACTLY the same (including the trailing $). + This is the document as an array of markdown blocks (the cursor is BETWEEN two blocks as indicated by cursor: true):`, + }, + { + role: "system", + content: JSON.stringify(opts.markdownBlocks), + }, + { + role: "system", + content: "The user asks you to do the following:", + }, + { + role: "user", + content: opts.userPrompt, + }, + { + role: "system", + content: `First, determine what part of the document the user is talking about. You SHOULD probably take cursor info into account if needed. + EXAMPLE: if user says "below" (without pointing to a specific part of the document) he / she probably indicates the block(s) after the cursor. + EXAMPLE: If you want to insert content AT the cursor position (UNLESS indicated otherwise by the user), then you need \`referenceId\` to point to the block before the cursor with position \`after\` (or block below and \`before\`). + + Prefer updating blocks over adding or removing (but this also depends on the user's question).`, + }, + ]; +} diff --git a/packages/xl-ai/src/api/prompts/markdownPrompts.ts b/packages/xl-ai/src/api/prompts/markdownPrompts.ts new file mode 100644 index 0000000000..198eebf500 --- /dev/null +++ b/packages/xl-ai/src/api/prompts/markdownPrompts.ts @@ -0,0 +1,60 @@ +import { BlockNoteEditor } from "@blocknote/core"; +import { CoreMessage } from "ai"; + +export function promptManipulateDocumentUseMarkdown(opts: { + editor: BlockNoteEditor; + userPrompt: string; + markdown: string; +}): Array { + return [ + { + role: "system", + content: + "You're helping the user redact / write a markdown document split in blocks.", + }, + { + role: "system", + content: "This is what the user wants you to do:", + }, + { + role: "user", + content: opts.userPrompt, + }, + { + role: "system", + content: "This is the document the user wants to update:", + }, + { + role: "system", + content: opts.markdown, + }, + ]; +} + +export function promptManipulateDocumentUseMarkdownWithSelection(opts: { + editor: BlockNoteEditor; + userPrompt: string; + markdown: string; +}): Array { + return [ + { + role: "system", + content: + "You're manipulating a markdown document. The user selected everything between [$! and !$], including blocks in between. Don't include any other text, comments or wrapping marks. Next message is the existing document in markdown:", + }, + { + role: "user", + content: opts.markdown, + }, + { + role: "system", + content: `You MUST return the ENTIRE markdown document (from start to end, INCLUDING parts outside the selection). + But, the next user prompt ONLY applies to the selectiom so make sure to ONLY change the selected text (text between [$! and !$]) and keep the rest of the document unchanged. + DO NOT include the markers in the response.`, + }, + { + role: "user", + content: opts.userPrompt, + }, + ]; +} diff --git a/packages/xl-ai/src/api/prompts/promptHelpers/addCursorPosition.ts b/packages/xl-ai/src/api/prompts/promptHelpers/addCursorPosition.ts new file mode 100644 index 0000000000..8d357dd620 --- /dev/null +++ b/packages/xl-ai/src/api/prompts/promptHelpers/addCursorPosition.ts @@ -0,0 +1,34 @@ +import { BlockNoteEditor } from "@blocknote/core"; + +type BlocksWithCursor = { + id: string; + block: T; +} | { + cursor: true; +} + +export function addCursorPosition(editor: BlockNoteEditor, source: Array<{ + id: string; + block: T; +}>): Array> +{ + const cursorPosition = editor.getTextCursorPosition(); + const ret: Array> = []; + + for (const block of source) { + const isBlockWithCursor = block.id === cursorPosition.block.id; + + ret.push({ + id: block.id, + block: block.block, + }); + + if (isBlockWithCursor) { + ret.push({ + cursor: true, + }); + } + } + + return ret; +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/prompts/promptHelpers/convertBlocks.ts b/packages/xl-ai/src/api/prompts/promptHelpers/convertBlocks.ts new file mode 100644 index 0000000000..a8ff6953fb --- /dev/null +++ b/packages/xl-ai/src/api/prompts/promptHelpers/convertBlocks.ts @@ -0,0 +1,13 @@ +import { Block } from "@blocknote/core"; + +export async function convertBlocks(source: Block[], mapFn: (block: Block) => Promise): Promise> { + return await Promise.all(source.map(async (block) => { + return { + id: block.id, + block: await mapFn(block), + }; + })); +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/prompts/promptHelpers/index.ts b/packages/xl-ai/src/api/prompts/promptHelpers/index.ts new file mode 100644 index 0000000000..2222315be6 --- /dev/null +++ b/packages/xl-ai/src/api/prompts/promptHelpers/index.ts @@ -0,0 +1,29 @@ +import { Block } from "@blocknote/core"; +import { trimArray } from "../../util/trimArray.js"; + +function isEmptyParagraph(block: Block) { + return ( + block.type === "paragraph" && + Array.isArray(block.content) && + block.content.length === 0 + ); + } + +export function trimEmptyBlocks(source: Block[], opts?: { + trimStart?: boolean; + trimEnd?: boolean; +}) { + // trim empty trailing blocks that don't have the cursor + // if we don't do this, commands like "add some paragraphs" + // would add paragraphs after the trailing blocks + const trimmedSource = trimArray( + source, + (block) => { + return isEmptyParagraph(block) + }, + opts?.trimStart, + opts?.trimEnd + ); + + return trimmedSource; +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/prompts/promptHelpers/suffixIds.ts b/packages/xl-ai/src/api/prompts/promptHelpers/suffixIds.ts new file mode 100644 index 0000000000..2878d95a5f --- /dev/null +++ b/packages/xl-ai/src/api/prompts/promptHelpers/suffixIds.ts @@ -0,0 +1,12 @@ + +export function suffixIDs(source: Array): Array { + return source.map((el) => { + if (typeof el === 'object' && el && 'id' in el) { + return { + ...el, + id: `${el.id}$`, + }; + } + return el; + }); +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/prompts/promptHelpers/trimEmptyBlocks.ts b/packages/xl-ai/src/api/prompts/promptHelpers/trimEmptyBlocks.ts new file mode 100644 index 0000000000..0f514f7c09 --- /dev/null +++ b/packages/xl-ai/src/api/prompts/promptHelpers/trimEmptyBlocks.ts @@ -0,0 +1,23 @@ +import { Block } from "@blocknote/core"; +import { isEmptyParagraph } from "../../util/emptyBlock.js"; +import { trimArray } from "../../util/trimArray.js"; + + +export function trimEmptyBlocks(source: Block[], opts?: { + trimStart?: boolean; + trimEnd?: boolean; +}) { + // trim empty trailing blocks that don't have the cursor + // if we don't do this, commands like "add some paragraphs" + // would add paragraphs after the trailing blocks + const trimmedSource = trimArray( + source, + (block) => { + return isEmptyParagraph(block) + }, + opts?.trimStart ?? false, + opts?.trimEnd ?? true + ); + + return trimmedSource; +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/schema/mergeSchema.ts b/packages/xl-ai/src/api/schema/mergeSchema.ts new file mode 100644 index 0000000000..dca14e5203 --- /dev/null +++ b/packages/xl-ai/src/api/schema/mergeSchema.ts @@ -0,0 +1,121 @@ +import type { SimpleJSONObjectSchema } from "../util/JSONSchema.js"; + +/** + * Merges schemas that only differ by the "type" field. + * @param schemas The array of schema objects to be processed. + * @returns A new array with merged schema objects where applicable. + */ +export function mergeSchemas( + schemas: SimpleJSONObjectSchema[] +): SimpleJSONObjectSchema[] { + const groupedSchemas: { [signature: string]: string[] } = {}; + const signatureToSchema: { [signature: string]: SimpleJSONObjectSchema } = {}; + + schemas.forEach((schemaObj) => { + // Extract the schema properties except for the "type" field + const { type, ...rest } = schemaObj.properties; + const schemaSignature = JSON.stringify(rest); // Generate a signature for comparison + + // If the signature already exists, add the "type" to the enum + if (groupedSchemas[schemaSignature]) { + groupedSchemas[schemaSignature].push(type.enum[0]); + } else { + // Create a new group if it doesn't exist + groupedSchemas[schemaSignature] = [type.enum[0]]; + signatureToSchema[schemaSignature] = schemaObj; + } + }); + + // Create the new merged schema array + const mergedSchemas: SimpleJSONObjectSchema[] = Object.keys( + groupedSchemas + ).map((signature) => { + const baseSchema = signatureToSchema[signature]; + return { + ...baseSchema, + properties: { + ...baseSchema.properties, + type: { + type: "string", + enum: groupedSchemas[signature], + }, + }, + }; + }); + + return mergedSchemas; +} + +// // Example usage: +// const exampleSchemas: Schema[] = [ +// { +// type: "object", +// properties: { +// type: { type: "string", enum: ["paragraph"] }, +// content: { $ref: "#/$defs/inlinecontent" }, +// props: { +// type: "object", +// properties: { +// backgroundColor: { type: "string" }, +// textColor: { type: "string" }, +// textAlignment: { +// type: "string", +// enum: ["left", "center", "right", "justify"], +// }, +// }, +// additionalProperties: false, +// }, +// }, +// additionalProperties: false, +// required: ["type"], +// }, +// { +// type: "object", +// properties: { +// type: { type: "string", enum: ["bulletListItem"] }, +// content: { $ref: "#/$defs/inlinecontent" }, +// props: { +// type: "object", +// properties: { +// backgroundColor: { type: "string" }, +// textColor: { type: "string" }, +// textAlignment: { +// type: "string", +// enum: ["left", "center", "right", "justify"], +// }, +// }, +// additionalProperties: false, +// }, +// }, +// additionalProperties: false, +// required: ["type"], +// }, +// { +// type: "object", +// properties: { +// type: { type: "string", enum: ["heading"] }, +// content: { $ref: "#/$defs/inlinecontent" }, +// props: { +// type: "object", +// properties: { +// backgroundColor: { type: "string" }, +// textColor: { type: "string" }, +// textAlignment: { +// type: "string", +// enum: ["left", "center", "right", "justify"], +// }, +// level: { +// type: "number", +// enum: [1, 2, 3], +// }, +// }, +// additionalProperties: false, +// }, +// }, +// additionalProperties: false, +// required: ["type"], +// }, +// ]; + +// const mergedSchemas = mergeSchemas(exampleSchemas); +// console.log(JSON.stringify(mergedSchemas, null, 2)); diff --git a/packages/xl-ai/src/api/schema/schemaToJSONSchema.test.ts b/packages/xl-ai/src/api/schema/schemaToJSONSchema.test.ts new file mode 100644 index 0000000000..8fbdc02402 --- /dev/null +++ b/packages/xl-ai/src/api/schema/schemaToJSONSchema.test.ts @@ -0,0 +1,43 @@ +import { afterEach, beforeEach, describe, it } from "vitest"; + +import { BlockNoteEditor } from "@blocknote/core"; + +import { defaultSchemaTestCases } from "../../testUtil/cases/defaultSchema.js"; +import { blockNoteSchemaToJSONSchema } from "./schemaToJSONSchema.js"; + +const testCases = [defaultSchemaTestCases]; + +describe("Test BlockNote-Prosemirror conversion", () => { + for (const testCase of testCases) { + describe("Case: " + testCase.name, () => { + let editor: BlockNoteEditor; + const div = document.createElement("div"); + + beforeEach(() => { + editor = testCase.createEditor(); + // Note that we don't necessarily need to mount a root + // Currently, we do mount to a root so that it reflects the "production" use-case more closely. + + // However, it would be nice to increased converage and share the same set of tests for these cases: + // - does render to a root + // - does not render to a root + // - runs in server (jsdom) environment using server-util + editor.mount(div); + }); + + afterEach(() => { + editor.mount(undefined); + editor._tiptapEditor.destroy(); + editor = undefined as any; + + delete (window as Window & { __TEST_OPTIONS?: any }).__TEST_OPTIONS; + }); + + it.only("creates json schema", async () => { + // eslint-disable-next-line no-console + console.log(JSON.stringify(blockNoteSchemaToJSONSchema(editor.schema))); + // } + }); + }); + } +}); diff --git a/packages/xl-ai/src/api/schema/schemaToJSONSchema.ts b/packages/xl-ai/src/api/schema/schemaToJSONSchema.ts new file mode 100644 index 0000000000..470c127c87 --- /dev/null +++ b/packages/xl-ai/src/api/schema/schemaToJSONSchema.ts @@ -0,0 +1,324 @@ +import { + BlockNoteSchema, + BlockSchema, + InlineContentSchema, + PropSchema, + StyleSchema, + defaultProps, +} from "@blocknote/core"; +import { SimpleJSONObjectSchema } from "../util/JSONSchema.js"; +import { mergeSchemas } from "./mergeSchema.js"; +/* +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "type": { + "type": "string", + "enum": ["paragraph", "heading"] + }, + "props": { + "type": "object", + "properties": { + "textColor": { + "type": "string", + "enum": ["default"] + }, + "backgroundColor": { + "type": "string", + "enum": ["default"] + }, + "textAlignment": { + "type": "string", + "enum": ["left"] + }, + "level": { + "type": "integer", + "minimum": 1, + "maximum": 6 + } + }, + "required": ["textColor", "backgroundColor", "textAlignment"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["text"] + }, + "text": { + "type": "string" + }, + "styles": { + "type": "object", + "properties": { + "bold": { + "type": "boolean" + }, + "italic": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + "required": ["type", "text"], + "additionalProperties": false + } + } + }, + "required": ["id", "type", "props", "content"], + "additionalProperties": false + } + }*/ + +export function styleSchemaToJSONSchema( + schema: StyleSchema +): SimpleJSONObjectSchema { + return { + type: "object", + properties: Object.fromEntries( + Object.entries(schema).map(([key, val]) => { + return [ + key, + { + type: val.propSchema, + }, + ]; + }) + ), + additionalProperties: false, + }; +} + +export function styledTextToJSONSchema() { + return { + type: "object", + properties: { + type: { + type: "string", + enum: ["text"], + }, + text: { + type: "string", + }, + styles: { + $ref: "#/$defs/styles", + }, + }, + additionalProperties: false, + required: ["type", "text"], + }; +} + +export function propSchemaToJSONSchema( + propSchema: PropSchema +): SimpleJSONObjectSchema { + return { + type: "object", + properties: Object.fromEntries( + Object.entries(propSchema) + .filter(([_key, val]) => { + // for now skip optional props + return val.default !== undefined; + //&& key !== "language"; + }) + .map(([key, val]) => { + return [ + key, + { + type: typeof val.default, + enum: val.values, + }, + ]; + }) + ), + additionalProperties: false, + }; +} + +export function inlineContentSchemaToJSONSchema(schema: InlineContentSchema) { + return { + type: "array", + items: { + anyOf: Object.entries(schema).map(([_key, val]) => { + if (val === "text") { + return { + $ref: "#/$defs/styledtext", + }; + } + if (val === "link") { + return { + type: "object", + properties: { + type: { + type: "string", + enum: ["link"], + }, + content: { + type: "array", + items: { + $ref: "#/$defs/styledtext", + }, + }, + href: { + type: "string", + }, + }, + additionalProperties: false, + required: ["type", "href", "content"], + }; + } + return { + type: "object", + properties: { + type: { + type: "string", + enum: [val.type], + }, + content: + val.content === "styled" + ? { + type: "array", + items: { + $ref: "#/$defs/styledtext", + }, + } + : undefined, + props: propSchemaToJSONSchema(val.propSchema), + }, + additionalProperties: false, + required: ["type", ...(val.content === "styled" ? ["content"] : [])], + }; + }), + }, + }; +} + +export function blockSchemaToJSONSchema(schema: BlockSchema) { + return { + anyOf: mergeSchemas( + Object.entries(schema).map(([_key, val]) => { + return { + type: "object", + properties: { + type: { + type: "string", + enum: [val.type], + }, + content: + val.content === "inline" + ? { $ref: "#/$defs/inlinecontent" } + : val.content === "table" + ? { type: "object", properties: {} } // TODO + : undefined, + // filter out default props (TODO: make option) + props: propSchemaToJSONSchema(val.propSchema), + // Object.fromEntries( + // Object.entries(val.propSchema).filter( + // (key) => typeof (defaultProps as any)[key[0]] === "undefined" + // ) + // ) + // ), + }, + additionalProperties: false, + required: ["type"], //, ...(val.content === "inline" ? ["content"] : [])], + }; + }) + ), + }; +} + +export function blockNoteSchemaToJSONSchema( + schema: Pick< + BlockNoteSchema, + "blockSchema" | "inlineContentSchema" | "styleSchema" + > +) { + schema = schemaOps(schema).removeFileBlocks().removeDefaultProps().get(); + return { + $defs: { + styles: styleSchemaToJSONSchema(schema.styleSchema), + styledtext: styledTextToJSONSchema(), + inlinecontent: inlineContentSchemaToJSONSchema( + schema.inlineContentSchema + ), + block: blockSchemaToJSONSchema(schema.blockSchema), + }, + }; +} + +// export function markdownToJSONSchema( +// schema: Pick< +// BlockNoteSchema, +// "blockSchema" | "inlineContentSchema" | "styleSchema" +// > +// ) { +// schema = schemaOps(schema).removeFileBlocks().removeDefaultProps().get(); +// return { +// $defs: { +// block: { +// type: "string", +// }, +// }, +// }; +// } + +type Writeable = { -readonly [P in keyof T]: T[P] }; + +export function schemaOps( + schema: Pick< + BlockNoteSchema, + "blockSchema" | "inlineContentSchema" | "styleSchema" + > +) { + const clone: Writeable = JSON.parse( + JSON.stringify({ + blockSchema: schema.blockSchema, + inlineContentSchema: schema.inlineContentSchema, + styleSchema: schema.styleSchema, + }) + ); + return { + removeFileBlocks() { + clone.blockSchema = Object.fromEntries( + Object.entries(clone.blockSchema).filter( + ([_key, val]) => !val.isFileBlock + ) + ); + return this; + }, + removeDefaultProps() { + clone.blockSchema = Object.fromEntries( + Object.entries(clone.blockSchema).map(([key, val]) => { + return [ + key, + { + ...val, + propSchema: Object.fromEntries( + Object.entries(val.propSchema).filter( + (key) => typeof (defaultProps as any)[key[0]] === "undefined" + ) + ) as any, + }, + ]; + }) + ); + return this; + }, + + get() { + return clone; + }, + }; +} diff --git a/packages/xl-ai/src/api/streamTool/asTool.test.ts b/packages/xl-ai/src/api/streamTool/asTool.test.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/xl-ai/src/api/streamTool/asTool.ts b/packages/xl-ai/src/api/streamTool/asTool.ts new file mode 100644 index 0000000000..7783b62cca --- /dev/null +++ b/packages/xl-ai/src/api/streamTool/asTool.ts @@ -0,0 +1,42 @@ +import { jsonSchema, tool } from "ai"; +import { operationsToStream } from "./callLLMWithStreamTools.js"; +import { createStreamToolsArraySchema } from "./jsonSchema.js"; +import { StreamTool } from "./streamTool.js"; + +export function streamToolAsTool>(streamTool: T) { + return tool({ + parameters: jsonSchema(streamTool.parameters, { + validate: (value) => { + const result = streamTool.validate(value); + if (result.result === "invalid") { + return { success: false, error: new Error(result.reason) }; + } + return { success: true, value: result.value }; + }, + }), + execute: async (value) => { + console.log("execute", value) + // TODO + } + }) +} + +export function streamToolsAsTool[]>(streamTools: T) { + const schema = createStreamToolsArraySchema(streamTools); + + return tool({ + parameters: jsonSchema(schema, { + validate: (value) => { + const stream = operationsToStream(value); + if (stream.result === "invalid") { + return { success: false, error: new Error(stream.reason) }; + } + return { success: true, value: stream.value }; + } + }), + execute: async (value) => { + // TODO + console.log("execute", value) + } + }) +} \ No newline at end of file diff --git a/packages/xl-ai/src/api/streamTool/callLLMWithStreamTools.ts b/packages/xl-ai/src/api/streamTool/callLLMWithStreamTools.ts new file mode 100644 index 0000000000..e502f71c17 --- /dev/null +++ b/packages/xl-ai/src/api/streamTool/callLLMWithStreamTools.ts @@ -0,0 +1,273 @@ +import { + CoreMessage, + GenerateObjectResult, + LanguageModel, + ObjectStreamPart, + StreamObjectResult, + generateObject, + jsonSchema, + streamObject, +} from "ai"; + +import { createStreamToolsArraySchema } from "./jsonSchema.js"; + +import { + AsyncIterableStream, + createAsyncIterableStream, + createAsyncIterableStreamFromAsyncIterable, +} from "../util/stream.js"; +import { filterNewOrUpdatedOperations } from "./filterNewOrUpdatedOperations.js"; +import { + preprocessOperationsNonStreaming, + preprocessOperationsStreaming, +} from "./preprocess.js"; +import { InvalidOrOk, StreamTool, StreamToolCall } from "./streamTool.js"; + +type LLMRequestOptionsInternal = { + model: LanguageModel; + messages: CoreMessage[]; + maxRetries: number; +}; + +type Optional = Omit & Partial>; + +export type LLMRequestOptions = Optional< + LLMRequestOptionsInternal, + "maxRetries" +>; + +/** + * Result of an LLM call with stream tools + */ +export type OperationsResult[]> = { + /** + * Result of the underlying `streamObject` (AI SDK) call, or `undefined` if non-streaming mode + */ + streamObjectResult: StreamObjectResult | undefined; + /** + * Result of the underlying `generateObject` (AI SDK) call, or `undefined` if streaming mode + */ + generateObjectResult: GenerateObjectResult | undefined; + /** + * Stream of tool call operations, these are the operations the LLM "decided" to execute + * + * Calling this consumes the underlying streams + */ + operationsSource: AsyncIterableStream<{ + operation: StreamToolCall; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }>; +}; + +export async function generateOperations[]>( + streamTools: T, + opts: LLMRequestOptions & { + _generateObjectOptions?: Partial>[0]>; + } +): Promise> { + const { _generateObjectOptions, ...rest } = opts; + + if ( + _generateObjectOptions && + ("output" in _generateObjectOptions || + "schema" in _generateObjectOptions || + "mode" in _generateObjectOptions) + ) { + throw new Error( + "Cannot provide output or schema in _generateObjectOptions" + ); + } + + const schema = jsonSchema(createStreamToolsArraySchema(streamTools)); + + const options = { + // non-overridable options for streamObject + mode: "tool" as const, + output: "object" as const, + schema, + + // configurable options for streamObject + + // - optional, with defaults + maxRetries: 2, + // - mandatory ones: + ...rest, + + // extra options for streamObject + ...((_generateObjectOptions ?? {}) as any), + }; + + const ret = await generateObject<{ operations: any }>(options); + + const stream = operationsToStream(ret.object); + + if (stream.result === "invalid") { + throw new Error(stream.reason); + } + + let _operationsSource: OperationsResult["operationsSource"]; + + return { + streamObjectResult: undefined, + generateObjectResult: ret, + get operationsSource() { + if (!_operationsSource) { + _operationsSource = createAsyncIterableStreamFromAsyncIterable( + preprocessOperationsNonStreaming(stream.value, streamTools) + ); + } + return _operationsSource; + }, + }; +} + +export function operationsToStream[]>( + object: unknown +): InvalidOrOk< + AsyncIterable<{ + partialOperation: StreamToolCall; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }> +> { + if ( + !object || + typeof object !== "object" || + !("operations" in object) || + !Array.isArray(object.operations) + ) { + return { + result: "invalid", + reason: "No operations returned", + }; + } + const operations = object.operations; + async function* singleChunkGenerator() { + for (const op of operations) { + // TODO: non-streaming might not need some steps + // in the executor + yield { + partialOperation: op, + isUpdateToPreviousOperation: false, + isPossiblyPartial: false, + }; + } + } + + return { + result: "ok", + value: singleChunkGenerator(), + }; +} + +export async function streamOperations[]>( + streamTools: T, + opts: LLMRequestOptions & { + _streamObjectOptions?: Partial< + Parameters>[0] + >; + }, + onStart: () => void = () => { + // noop + } +): Promise> { + const { _streamObjectOptions, ...rest } = opts; + + if ( + _streamObjectOptions && + ("output" in _streamObjectOptions || + "schema" in _streamObjectOptions || + "mode" in _streamObjectOptions) + ) { + throw new Error("Cannot provide output or schema in _streamObjectOptions"); + } + + const schema = jsonSchema(createStreamToolsArraySchema(streamTools)); + + const options = { + // non-overridable options for streamObject + mode: "tool" as const, + output: "object" as const, + schema, + + // configurable options for streamObject + + // - optional, with defaults + maxRetries: 2, + // - mandatory ones: + ...rest, + + // extra options for streamObject + ...((opts._streamObjectOptions ?? {}) as any), + }; + + const ret = streamObject<{ operations: any }>(options); + + let _operationsSource: OperationsResult["operationsSource"]; + + return { + streamObjectResult: ret, + generateObjectResult: undefined, + get operationsSource() { + if (!_operationsSource) { + _operationsSource = createAsyncIterableStreamFromAsyncIterable( + preprocessOperationsStreaming( + filterNewOrUpdatedOperations( + streamOnStartCallback( + partialObjectStreamThrowError(ret.fullStream), + onStart + ) + ), + streamTools + ) + ); + } + return _operationsSource; + }, + }; +} + +async function* streamOnStartCallback( + stream: AsyncIterable, + onStart: () => void +): AsyncIterable { + let first = true; + for await (const chunk of stream) { + if (first) { + onStart(); + first = false; + } + yield chunk; + } +} + +// adapted from https://github.com/vercel/ai/blob/5d4610634f119dc394d36adcba200a06f850209e/packages/ai/core/generate-object/stream-object.ts#L1041C7-L1066C1 +// change made to throw errors +function partialObjectStreamThrowError( + stream: AsyncIterableStream> +): AsyncIterableStream { + return createAsyncIterableStream( + stream.pipeThrough( + new TransformStream, PARTIAL>({ + transform(chunk, controller) { + switch (chunk.type) { + case "object": + controller.enqueue(chunk.object); + break; + + case "text-delta": + case "finish": + break; + case "error": + throw chunk.error; + default: { + const _exhaustiveCheck: never = chunk; + throw new Error(`Unsupported chunk type: ${_exhaustiveCheck}`); + } + } + }, + }) + ) + ); +} diff --git a/packages/xl-ai/src/api/streamTool/filterNewOrUpdatedOperations.test.ts b/packages/xl-ai/src/api/streamTool/filterNewOrUpdatedOperations.test.ts new file mode 100644 index 0000000000..c68e9bdc7f --- /dev/null +++ b/packages/xl-ai/src/api/streamTool/filterNewOrUpdatedOperations.test.ts @@ -0,0 +1,158 @@ +import { describe, expect, it } from "vitest"; +import { filterNewOrUpdatedOperations } from "./filterNewOrUpdatedOperations.js"; + +describe("filterNewOrUpdatedOperations", () => { + it("should filter out new operations from a stream", async () => { + // Create a mock stream + async function* mockStream() { + yield { + operations: [ + { id: 1, content: "op1" }, + { id: 2, content: "op2-partial" }, + ], + }; + yield { + operations: [ + { id: 1, content: "op1" }, + { id: 2, content: "op2-complete" }, + { id: 3, content: "op3" }, + ], + }; + } + + const result = []; + for await (const chunk of filterNewOrUpdatedOperations(mockStream())) { + result.push(chunk); + } + + expect(result.length).toBe(5); + + // First chunk should have op1 and op2-partial + expect(result[0]).toEqual({ + partialOperation: { id: 1, content: "op1" }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: false, + }); + + expect(result[1]).toEqual({ + partialOperation: { id: 2, content: "op2-partial" }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: true, + }); + + expect(result[2]).toEqual({ + partialOperation: { id: 2, content: "op2-complete" }, + isUpdateToPreviousOperation: true, + isPossiblyPartial: false, + }); + + expect(result[3]).toEqual({ + partialOperation: { id: 3, content: "op3" }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: true, + }); + + expect(result[4]).toEqual({ + partialOperation: { id: 3, content: "op3" }, + isUpdateToPreviousOperation: true, + isPossiblyPartial: false, + }); + }); + + it("should filter out new operations from a stream (partial start)", async () => { + // Create a mock stream + async function* mockStream() { + yield { + operations: [{ id: 1, content: "op1-partial" }], + }; + yield { + operations: [ + { id: 1, content: "op1-complete" }, + { id: 2, content: "op2" }, + ], + }; + } + + const result = []; + for await (const chunk of filterNewOrUpdatedOperations(mockStream())) { + result.push(chunk); + } + + expect(result.length).toBe(4); + + // First chunk should have op1-partial + expect(result[0]).toEqual({ + partialOperation: { id: 1, content: "op1-partial" }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: true, + }); + + // Second chunk should have op1-complete + expect(result[1]).toEqual({ + partialOperation: { id: 1, content: "op1-complete" }, + isUpdateToPreviousOperation: true, + isPossiblyPartial: false, + }); + + // Third chunk should have op2 + expect(result[2]).toEqual({ + partialOperation: { id: 2, content: "op2" }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: true, + }); + + expect(result[3]).toEqual({ + partialOperation: { id: 2, content: "op2" }, + isUpdateToPreviousOperation: true, + isPossiblyPartial: false, + }); + }); + + it("should handle empty operations array", async () => { + async function* mockStream() { + yield { operations: [] }; + yield { operations: [{ id: 1, content: "op1" }] }; + } + + const result = []; + for await (const chunk of filterNewOrUpdatedOperations(mockStream())) { + result.push(chunk); + } + + expect(result.length).toBe(2); + expect(result[0]).toEqual({ + partialOperation: { id: 1, content: "op1" }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: true, + }); + expect(result[1]).toEqual({ + partialOperation: { id: 1, content: "op1" }, + isUpdateToPreviousOperation: true, + isPossiblyPartial: false, + }); + }); + + it("should handle undefined operations", async () => { + async function* mockStream() { + yield {}; + yield { operations: [{ id: 1, content: "op1" }] }; + } + + const result = []; + for await (const chunk of filterNewOrUpdatedOperations(mockStream())) { + result.push(chunk); + } + + expect(result.length).toBe(2); + expect(result[0]).toEqual({ + partialOperation: { id: 1, content: "op1" }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: true, + }); + expect(result[1]).toEqual({ + partialOperation: { id: 1, content: "op1" }, + isUpdateToPreviousOperation: true, + isPossiblyPartial: false, + }); + }); +}); diff --git a/packages/xl-ai/src/api/streamTool/filterNewOrUpdatedOperations.ts b/packages/xl-ai/src/api/streamTool/filterNewOrUpdatedOperations.ts new file mode 100644 index 0000000000..6f1d17611d --- /dev/null +++ b/packages/xl-ai/src/api/streamTool/filterNewOrUpdatedOperations.ts @@ -0,0 +1,64 @@ +/** + * This takes the partialObjectStream from an LLM streaming response. + * + * Note that this streams in multiple operations in the operations array, and this will be called with chunks like this: + * + * {operations: [op1, op2partial]} + * {operations: [op1, op2complete, op3, op4]} + * + * This function transforms it into a stream of new or updated operations, so the output would be like this: + * + * {newOrUpdatedOperations: [op1, op2partial]} + * {newOrUpdatedOperations: [op2complete, op3, op4]} + */ +export async function* filterNewOrUpdatedOperations( + partialObjectStream: AsyncIterable<{ + operations?: any[]; + }> +): AsyncGenerator<{ + partialOperation: any; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; +}> { + let numOperationsAppliedCompletely = 0; + let first = true; + + let lastOp: any; + + for await (const chunk of partialObjectStream) { + if (!chunk.operations?.length) { + // yield { newOrUpdatedOperations: [] }; + continue; + } + + for ( + let i = numOperationsAppliedCompletely; + i < chunk.operations.length; + i++ + ) { + const operation = chunk.operations[i]; + lastOp = operation; + yield { + partialOperation: operation, + isUpdateToPreviousOperation: + i === numOperationsAppliedCompletely && !first, + isPossiblyPartial: i === chunk.operations.length - 1, + }; + first = false; + } + + // Update count to exclude the last operation which might be incomplete + numOperationsAppliedCompletely = chunk.operations.length - 1; + } + + if (!lastOp) { + throw new Error("No operations seen"); + } + + // mark final operation as final (by emitting with isPossiblyPartial: false) + yield { + partialOperation: lastOp, + isUpdateToPreviousOperation: true, + isPossiblyPartial: false, + }; +} diff --git a/packages/xl-ai/src/api/streamTool/filterValidOperations.test.ts b/packages/xl-ai/src/api/streamTool/filterValidOperations.test.ts new file mode 100644 index 0000000000..b8042a35de --- /dev/null +++ b/packages/xl-ai/src/api/streamTool/filterValidOperations.test.ts @@ -0,0 +1,103 @@ +import { describe, expect, it } from "vitest"; +import { AddBlocksToolCall } from "../tools/createAddBlocksTool.js"; +import { UpdateBlockToolCall } from "../tools/createUpdateBlockTool.js"; +import { filterValidOperations } from "./filterValidOperations.js"; +import { InvalidOrOk } from "./streamTool.js"; + +describe("filterValidOperations", () => { + it("should filter out valid operations from a stream", async () => { + // Create a mock stream with valid and invalid operations + async function* mockStream() { + yield { + operation: { + result: "ok", + value: { + type: "add", + blocks: [], + referenceId: "123", + position: "after", + } as AddBlocksToolCall, + } as InvalidOrOk | UpdateBlockToolCall>, + isUpdateToPreviousOperation: false, + isPossiblyPartial: false, + }; + + yield { + operation: { + result: "invalid", + reason: "Invalid operation", + } as InvalidOrOk | UpdateBlockToolCall>, + isUpdateToPreviousOperation: false, + isPossiblyPartial: false, + }; + + yield { + operation: { + result: "ok", + value: { + type: "update", + id: "456", + block: { content: "updated" }, + } as UpdateBlockToolCall, + } as InvalidOrOk | UpdateBlockToolCall>, + isUpdateToPreviousOperation: true, + isPossiblyPartial: true, + }; + } + + const result = []; + for await (const chunk of filterValidOperations(mockStream())) { + result.push(chunk); + } + + // Should only have the valid operations + expect(result.length).toBe(2); + + expect(result[0]).toEqual({ + operation: { + type: "add", + blocks: [], + referenceId: "123", + position: "after", + }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: false, + }); + + expect(result[1]).toEqual({ + operation: { type: "update", id: "456", block: { content: "updated" } }, + isUpdateToPreviousOperation: true, + isPossiblyPartial: true, + }); + }); + + it("should handle a stream with only invalid operations", async () => { + async function* mockStream() { + yield { + operation: { + result: "invalid", + reason: "Invalid operation 1", + } as InvalidOrOk | UpdateBlockToolCall>, + isUpdateToPreviousOperation: false, + isPossiblyPartial: false, + }; + + yield { + operation: { + result: "invalid", + reason: "Invalid operation 2", + } as InvalidOrOk | UpdateBlockToolCall>, + isUpdateToPreviousOperation: true, + isPossiblyPartial: false, + }; + } + + const result = []; + for await (const chunk of filterValidOperations(mockStream())) { + result.push(chunk); + } + + // Should have no valid operations + expect(result.length).toBe(0); + }); +}); diff --git a/packages/xl-ai/src/api/streamTool/filterValidOperations.ts b/packages/xl-ai/src/api/streamTool/filterValidOperations.ts new file mode 100644 index 0000000000..a1292b329c --- /dev/null +++ b/packages/xl-ai/src/api/streamTool/filterValidOperations.ts @@ -0,0 +1,33 @@ +import { InvalidOrOk } from "./streamTool.js"; + +/** + * Filters out invalid operations from the stream. + */ +export async function* filterValidOperations( + operationsStream: AsyncIterable<{ + operation: InvalidOrOk; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }>, + onInvalidOperation?: ( + operation: InvalidOrOk & { + result: "invalid"; + } + ) => void +): AsyncGenerator<{ + operation: T; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; +}> { + for await (const chunk of operationsStream) { + if (chunk.operation.result === "ok") { + yield { + operation: chunk.operation.value, + isUpdateToPreviousOperation: chunk.isUpdateToPreviousOperation, + isPossiblyPartial: chunk.isPossiblyPartial, + }; + } else { + onInvalidOperation?.(chunk.operation); + } + } +} diff --git a/packages/xl-ai/src/api/streamTool/jsonSchema.ts b/packages/xl-ai/src/api/streamTool/jsonSchema.ts new file mode 100644 index 0000000000..7384fc085f --- /dev/null +++ b/packages/xl-ai/src/api/streamTool/jsonSchema.ts @@ -0,0 +1,57 @@ +import { JSONSchema7Definition } from "json-schema"; +import isEqual from "lodash.isequal"; +import { SimpleJSONObjectSchema } from "../util/JSONSchema.js"; +import { StreamTool } from "./streamTool.js"; + +export function streamToolToJSONSchema(tool: StreamTool) { + // this adds the tool name as the "type". (not very clean way to do it) + const { properties, required, $defs, ...rest } = tool.parameters; + return { + schema: { + type: "object", + description: tool.description, + properties: { + type: { + type: "string", + enum: [tool.name], + }, + ...properties, + }, + required: ["type", ...(required ?? [])], + additionalProperties: false, + ...rest, + }, + $defs, + }; +} + +export function createStreamToolsArraySchema( + streamTools: StreamTool[] +): SimpleJSONObjectSchema & { $defs?: Record } { + const schemas = streamTools.map((tool) => streamToolToJSONSchema(tool)); + + const $defs: Record = {}; + for (const schema of schemas) { + for (const key in schema.$defs) { + if ($defs[key] && !isEqual($defs[key], schema.$defs[key])) { + throw new Error(`Duplicate, but different definition for ${key}`); + } + $defs[key] = schema.$defs[key]; + } + } + + return { + type: "object", + properties: { + operations: { + type: "array", + items: { + anyOf: schemas.map((schema) => schema.schema), + }, + }, + }, + additionalProperties: false, + required: ["operations"] as string[], + $defs: Object.keys($defs).length > 0 ? $defs : undefined, + }; +} diff --git a/packages/xl-ai/src/api/streamTool/preprocess.test.ts b/packages/xl-ai/src/api/streamTool/preprocess.test.ts new file mode 100644 index 0000000000..737923d7bd --- /dev/null +++ b/packages/xl-ai/src/api/streamTool/preprocess.test.ts @@ -0,0 +1,228 @@ +import { BlockNoteEditor } from "@blocknote/core"; +import { beforeEach, describe, expect, it } from "vitest"; + +import { applyOperations } from "../executor/streamOperations/applyOperations.js"; + +import { + getApplySuggestionsTr, + rebaseTool, +} from "../../prosemirror/rebaseTool.js"; +import { tools } from "../formats/json/tools/index.js"; +import { preprocessOperationsStreaming } from "./preprocess.js"; +import { StreamTool } from "./streamTool.js"; + +type StreamType = AsyncIterable<{ + partialOperation: any; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; +}>; + + + +// TODO: maybe change unit test or move to json test, because this does not only test preprocess +// but also applyOperations +async function* executeOperations( + editor: BlockNoteEditor, + operationsStream: StreamType, + streamTools: StreamTool[] +) { + + const preprocessedOperationsStream = preprocessOperationsStreaming( + operationsStream, + streamTools + ); + + yield* applyOperations( + editor, + preprocessedOperationsStream, + async () => rebaseTool(editor, getApplySuggestionsTr(editor)), + { withDelays: false } + ); +} + +describe("executeOperations", () => { + let editor: BlockNoteEditor; + let streamTools: StreamTool[]; + beforeEach(() => { + editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "paragraph", + content: "test", + id: "existing-id", + }, + ], + }); + streamTools = [ + tools.add(editor, { idsSuffixed: true }), + tools.update(editor, { idsSuffixed: true }), + tools.delete(editor, { idsSuffixed: true }), + ]; + }); + + it("should process insert operations", async () => { + async function* mockStream(): StreamType { + yield { + partialOperation: { + type: "add" as const, + referenceId: "existing-id$", + position: "after" as const, + blocks: [ + { + type: "paragraph" as const, + content: [{ type: "text" as const, text: "test" }], + }, + ], + }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: false, + }; + } + + const results: any[] = []; + for await (const result of executeOperations( + editor, + mockStream(), + streamTools + )) { + results.push(result); + } + + expect(results.length).toBe(1); + expect(results[0].result).toBe("ok"); + expect(editor.document.length).toBe(2); + expect(editor.document[1]).toMatchObject({ + type: "paragraph", + content: [{ type: "text", text: "test" }], + }); + }); + + it("should handle multiple operations in sequence", async () => { + const op1 = { + type: "add" as const, + position: "after" as const, + referenceId: "existing-id$", + blocks: [ + { + type: "paragraph" as const, + content: [{ type: "text" as const, text: "first" }], + }, + ], + }; + async function* mockStream(): StreamType { + yield { + partialOperation: op1, + isUpdateToPreviousOperation: false, + isPossiblyPartial: false, + }; + yield { + partialOperation: { + type: "add" as const, + position: "after" as const, + referenceId: "existing-id$", + blocks: [ + { + type: "paragraph" as const, + content: [{ type: "text" as const, text: "second" }], + }, + ], + }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: false, + }; + } + + const results: any[] = []; + for await (const result of executeOperations( + editor, + mockStream(), + streamTools + )) { + results.push(result); + } + + expect(results.length).toBe(2); + expect(editor.document.length).toBe(3); + expect(editor.document[1]).toMatchObject({ + type: "paragraph", + content: [{ type: "text", text: "second" }], + }); + expect(editor.document[2]).toMatchObject({ + type: "paragraph", + content: [{ type: "text", text: "first" }], + }); + }); + + it("should handle empty operation streams", async () => { + async function* mockStream(): StreamType { + // Empty stream + } + + const results: any[] = []; + for await (const result of executeOperations( + editor, + mockStream(), + streamTools + )) { + results.push(result); + } + + expect(results).toHaveLength(0); + expect(editor.document.length).toBe(1); + }); + + it("should handle invalid operations", async () => { + async function* mockStream(): StreamType { + yield { + partialOperation: { + type: "invalid", + }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: false, + }; + } + + const results: any[] = []; + for await (const result of executeOperations( + editor, + mockStream(), + streamTools + )) { + results.push(result); + } + + expect(results.length).toBe(0); + }); + + it("should handle update operations", async () => { + async function* mockStream(): StreamType { + yield { + partialOperation: { + type: "update" as const, + id: "existing-id$", + block: { + content: [{ type: "text", text: "updated" }], + }, + }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: false, + }; + } + + const results: any[] = []; + for await (const result of executeOperations( + editor, + mockStream(), + streamTools + )) { + results.push(result); + } + + expect(results.length).toBe(1); + expect(results[0].result).toBe("ok"); + expect(editor.document[0]).toMatchObject({ + type: "paragraph", + content: [{ type: "text", text: "updated" }], + }); + }); +}); diff --git a/packages/xl-ai/src/api/streamTool/preprocess.ts b/packages/xl-ai/src/api/streamTool/preprocess.ts new file mode 100644 index 0000000000..c9704ef9c6 --- /dev/null +++ b/packages/xl-ai/src/api/streamTool/preprocess.ts @@ -0,0 +1,64 @@ + +import { + filterValidOperations, + toValidatedOperations, +} from "../executor/streamOperations/index.js"; +import { StreamTool, StreamToolCall } from "./streamTool.js"; + +export type PreprocessOperationResult[]> = { + operation: StreamToolCall; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; +}; + +export async function* preprocessOperationsStreaming< + T extends StreamTool[] +>( + operationsStream: AsyncIterable<{ + partialOperation: any; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }>, + streamTools: T +): AsyncGenerator> { + // from partial operations to valid / invalid operations + const validatedOperationsStream = toValidatedOperations( + operationsStream, + streamTools + ); + + // filter valid operations, invalid operations are ignored + const validOperationsStream = filterValidOperations( + validatedOperationsStream + ); + + yield* validOperationsStream; +} + +export async function* preprocessOperationsNonStreaming< + T extends StreamTool[] +>( + operationsStream: AsyncIterable<{ + partialOperation: any; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }>, + streamTools: T +): AsyncGenerator> { + // from partial operations to valid / invalid operations + const validatedOperationsStream = toValidatedOperations( + operationsStream, + streamTools + ); + + // filter valid operations, invalid operations should throw an error + const validOperationsStream = filterValidOperations( + validatedOperationsStream, + (operation) => { + throw new Error("invalid operation: " + operation.reason); + } + ); + + // yield results + yield* validOperationsStream; +} diff --git a/packages/xl-ai/src/api/streamTool/streamTool.ts b/packages/xl-ai/src/api/streamTool/streamTool.ts new file mode 100644 index 0000000000..41ae0a2547 --- /dev/null +++ b/packages/xl-ai/src/api/streamTool/streamTool.ts @@ -0,0 +1,320 @@ +import { DeepPartial } from "ai"; +import { JSONSchema7 } from "json-schema"; + +export type InvalidOrOk = + | { + result: "invalid"; + reason: string; + } + | { result: "ok"; value: T }; + +/** + * A StreamTool is a function that can be called by the LLM. + * It's similar to a Tool in the Vercel AI SDK, but: + * + * - a collection of StreamTools can be wrapped in a single LLM Tool to issue multiple operations (tool calls) at once. + * - StreamTools can be used in a streaming manner. + */ +export type StreamTool = { + /** + * The name of the tool + */ + name: T["type"]; + /** + * An optional description of the tool that can influence when the tool is picked. + */ + description?: string; + /** + * The schema of the input that the tool expects. The language model will use this to generate the input. + */ + parameters: JSONSchema7; + /** + * Validates the input of the tool call + * + * @param operation - The operation to validate. + * This can be a partial object as the LLM may not have completed the operation yet. + * The object is not guaranteed to be of type DeepPartial as the LLM might not conform to the schema correctly - so this needs to be validated. + */ + validate: ( + operation: DeepPartial, // TODO: maybe `unknown` is better? + ) => InvalidOrOk; + + /** + * Executes the tool call + * TODO + */ + execute: ( + operationsStream: AsyncIterable<{ + operation: StreamToolCall[]>; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }>, + ) => AsyncIterable<{ + operation: StreamToolCall[]>; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }>; +}; + +export type StreamToolCallSingle> = + T extends StreamTool ? U : never; + +/** + * A ToolCall represents an invocation of a StreamTool. + * + * Its type is the same as what a validated StreamTool returns + */ +export type StreamToolCall | StreamTool[]> = + T extends StreamTool + ? U + : // when passed an array of StreamTools, StreamToolCall represents the type of one of the StreamTool invocations + T extends StreamTool[] + ? T[number] extends StreamTool + ? V + : never + : never; + +/** + * Create a StreamTool. + * + * A StreamTool is a function that can be called by the LLM. + * It's similar to a Tool in the Vercel AI SDK, but: + * + * - a collection of StreamTools can be wrapped in a single LLM Tool to issue multiple operations (tool calls) at once. + * - StreamTools can be used in a streaming manner. + */ +export function streamTool(config: { + name: T["type"]; + description: string; + parameters: JSONSchema7; + validate: (operation: DeepPartial) => InvalidOrOk; + execute: ( + operationsStream: AsyncIterable<{ + operation: StreamToolCall[]>; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }>, + ) => AsyncIterable<{ + operation: StreamToolCall[]>; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }>; +}): StreamTool { + return config; +} + +/* + +testing the validators / invalidorok + +export type Car = { + type: "car"; + brand: string; +}; + +export type Bike = { + type: "bike"; + color: string; +}; + +const objects: any[] = [ + { + x: 4, + }, + { type: "car", brand: "Ford", model: "Mustang" }, + { type: "bike", color: "red" }, +]; + +const validateCar = (obj: any): InvalidOrOk => { + if (obj.type !== "car") { + throw new Error("wrong validator called"); + } + + if (typeof obj.brand !== "string") { + return { + result: "invalid", + reason: "no brand", + }; + } + + return { + result: "ok", + value: obj, + }; +}; + +const validateBike = (obj: any): InvalidOrOk => { + if (obj.type !== "bike") { + throw new Error("wrong validator called"); + } + + if (typeof obj.color !== "string") { + return { + result: "invalid", + reason: "no color", + }; + } + + return { + result: "ok", + value: obj, + }; +}; + +type ValidatorFor = { + type: string; + validate: (obj: any) => InvalidOrOk; +}; + +// Refined validator to work with discriminated unions +type TypedValidator = { + type: T["type"]; + validate: (obj: any) => InvalidOrOk; +}; + +// The code below should be generic and not use Car and Bike +const validate = ( + obj: any, + validators: readonly TypedValidator[] +) => { + const validator = validators.find((v) => v.type === obj.type); + if (!validator) { + return { + result: "invalid", + reason: "Invalid object type", + } as InvalidOrOk; + } + return validator.validate(obj); +}; + +// Simplified version +const validateAll = ( + objects: any[], + validators: readonly TypedValidator[] +) => { + return objects.map((obj) => validate(obj, validators)); +}; + +// Define vehicle validators with proper types +const carValidator: TypedValidator = { + type: "car", + validate: validateCar, +}; + +const bikeValidator: TypedValidator = { + type: "bike", + validate: validateBike, +}; + +// Create a union type for readability, but not strictly necessary +type Vehicle = Car | Bike; + +// Type helper to extract the validated types +type ExtractValidatedTypes = T extends TypedValidator ? U : never; + +// Helper function that infers the union type automatically +function createValidatorsForTypes[]>( + ...validators: T +): readonly TypedValidator>[] { + return validators; +} + +const validators = [carValidator, bikeValidator]; + +type S = TypedValidator>; + +// Use the helper function - no type parameter needed! +const vehicleValidators = createValidatorsForTypes(carValidator, bikeValidator); + +// example usage +const validated = validateAll(objects, vehicleValidators); +const o = validated[0]; +if (o.result === "ok") { + const val = o.value; // val is now of type Vehicle (Car | Bike) +} + + +export type Car = { + type: "car"; + brand: string; +}; + +export type RepairedCar = { + type: "car"; + brand: string; + repaired: true; +}; + +export type Bike = { + type: "bike"; + color: string; +}; + +export type Vehicle = { type: string }; + +export function processVehicles(vehicles: Vehicle[]) { + return vehicles.map((v) => { + if (v.type === "car") { + return v; + } + }); +} + +export const vehicles: Array = [ + { type: "car", brand: "Ford" }, + { type: "bike", color: "red" }, +]; + +// Type guard to check if a vehicle is a Car +function isCar(vehicle: Vehicle): vehicle is Car { + return vehicle.type === "car" && "brand" in vehicle; +} + +// This function should return an array of vehicles with cars repaired +const carRepairer = function (vehicles: T) { + const ret: Array = []; + + for (const v of vehicles) { + if (v.type === "car") { + // Use type assertion to tell TypeScript this is a Car + const car = v as unknown as Car; + ret.push({ ...car, repaired: true }); + } else { + ret.push(v); + } + } + return ret; +}; + +// Alternative implementation using type guard +const carRepairerWithGuard = function (vehicles: T) { + const ret: Array = []; + + for (const v of vehicles) { + if (isCar(v)) { + ret.push({ ...v, repaired: true }); + } else { + ret.push(v); + } + } + return ret; +}; + +// Advanced version with better type preservation +type ReplaceCarWithRepairedCar = T extends Car ? RepairedCar : T; + +const carRepairerAdvanced = function ( + vehicles: T +): { [K in keyof T]: ReplaceCarWithRepairedCar } { + const ret: Array> = []; + return vehicles.map((v) => { + if (isCar(v)) { + return { ...v, repaired: true } as ReplaceCarWithRepairedCar; + } + return v as ReplaceCarWithRepairedCar; + }) as { [K in keyof T]: ReplaceCarWithRepairedCar }; +}; + +// Example usage: +const repairedVehicles = carRepairerAdvanced(vehicles); +*/ diff --git a/packages/xl-ai/src/api/streamTool/toValidatedOperations.test.ts b/packages/xl-ai/src/api/streamTool/toValidatedOperations.test.ts new file mode 100644 index 0000000000..e18876bb0b --- /dev/null +++ b/packages/xl-ai/src/api/streamTool/toValidatedOperations.test.ts @@ -0,0 +1,222 @@ +import { BlockNoteEditor } from "@blocknote/core"; +import { describe, expect, it } from "vitest"; + +import { tools } from "../formats/json/tools/index.js"; +import { AddBlocksToolCall } from "../tools/createAddBlocksTool.js"; +import { UpdateBlockToolCall } from "../tools/createUpdateBlockTool.js"; +import { InvalidOrOk } from "./streamTool.js"; +import { toValidatedOperations } from "./toValidatedOperations.js"; + +describe("toValidatedOperations", () => { + // Mock editor with getBlock method and schema + const mockEditor = { + getBlock: (id: string) => { + // Return a mock block for the test cases + if (id === "ref1" || id === "block1") { + return { id, type: "paragraph" }; + } + return null; + }, + schema: { + blockSchema: { + paragraph: { + propSchema: {}, + content: "inline", + }, + }, + inlineContentSchema: { + text: "text", + }, + }, + } as unknown as BlockNoteEditor; + + // Array of test functions + const streamTools = [ + tools.add(mockEditor, { idsSuffixed: true }), + tools.update(mockEditor, { idsSuffixed: true }), + tools.delete(mockEditor, { idsSuffixed: true }), + ]; + + it("should transform add operations to BlockNoteOperations", async () => { + // Create a mock stream + async function* mockStream() { + yield { + partialOperation: { + type: "add", + referenceId: "ref1$", + position: "after", + blocks: [ + { + type: "paragraph", + content: [{ type: "text", text: "test" }], + }, + ], + }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: false, + }; + } + + const result = []; + for await (const chunk of toValidatedOperations( + mockStream(), + streamTools + )) { + result.push(chunk); + } + + // Should yield the transformed operation + expect(result.length).toBe(1); + testAddOperation(result[0]); + }); + + it("should skip operations with no matching function", async () => { + // Create a mock stream with an operation that has no matching function + async function* mockStream() { + yield { + partialOperation: { type: "unknown", content: "test" }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: true, + }; + } + + const result = []; + for await (const chunk of toValidatedOperations( + mockStream(), + streamTools + )) { + result.push(chunk); + } + + // Should not yield any operations + expect(result.length).toBe(0); + }); + + it("should handle add and update operations in sequence", async () => { + // Create a mock stream with multiple operations + async function* mockStream() { + yield { + partialOperation: { + type: "add", + referenceId: "ref1$", + position: "after", + blocks: [ + { + type: "paragraph", + content: [{ type: "text", text: "test" }], + }, + ], + }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: false, + }; + yield { + partialOperation: { + type: "update", + id: "block1$", + block: { + type: "paragraph", + content: [{ type: "text", text: "updated" }], + }, + }, + isUpdateToPreviousOperation: true, + isPossiblyPartial: true, + }; + } + + const result = []; + for await (const chunk of toValidatedOperations( + mockStream(), + streamTools + )) { + result.push(chunk); + } + + // Should yield both operations + expect(result.length).toBe(2); + + // Test the add operation + testAddOperation(result[0]); + + // Test the update operation + testUpdateOperation(result[1]); + }); + + it("should handle invalid operations", async () => { + // Create a mock stream with an invalid operation + async function* mockStream() { + yield { + partialOperation: { + type: "add", + // Missing required fields (referenceId and position) + blocks: [{ content: "test" }], + }, + isUpdateToPreviousOperation: false, + isPossiblyPartial: true, + }; + } + + const result = []; + for await (const chunk of toValidatedOperations( + mockStream(), + streamTools + )) { + result.push(chunk); + } + + // Should yield the invalid operation + expect(result.length).toBe(1); + expect(result[0].operation.result).toBe("invalid"); + expect(result[0].isUpdateToPreviousOperation).toBe(false); + expect(result[0].isPossiblyPartial).toBe(true); + }); + + // Helper function to test add operations + function testAddOperation(result: { + operation: InvalidOrOk; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }) { + expect(result.operation.result).toBe("ok"); + expect(result.isUpdateToPreviousOperation).toBe(false); + expect(result.isPossiblyPartial).toBe(false); + + // Skip if not valid + if (result.operation.result !== "ok") { + return; + } + + const insertOp = result.operation.value as AddBlocksToolCall; + expect(insertOp.type).toBe("add"); + expect(insertOp.position).toBe("after"); + expect(insertOp.blocks).toEqual([ + { + type: "paragraph", + content: [{ type: "text", text: "test" }], + }, + ]); + } + + // Helper function to test update operations + function testUpdateOperation(result: { + operation: InvalidOrOk; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }) { + expect(result.operation.result).toBe("ok"); + expect(result.isUpdateToPreviousOperation).toBe(true); + expect(result.isPossiblyPartial).toBe(true); + + // Skip if not valid + if (result.operation.result !== "ok") { + return; + } + + const updateOp = result.operation.value as UpdateBlockToolCall; + expect(updateOp.type).toBe("update"); + expect(updateOp.block).toEqual({ + type: "paragraph", + content: [{ type: "text", text: "updated" }], + }); + } +}); diff --git a/packages/xl-ai/src/api/streamTool/toValidatedOperations.ts b/packages/xl-ai/src/api/streamTool/toValidatedOperations.ts new file mode 100644 index 0000000000..95d43e6ece --- /dev/null +++ b/packages/xl-ai/src/api/streamTool/toValidatedOperations.ts @@ -0,0 +1,41 @@ +import { InvalidOrOk, StreamTool, StreamToolCall } from "./streamTool.js"; + +/** + * Transforms the partialObjectStream into a stream of operations (tool calls), or indicates that the operation is invalid. + * + * Invalid operations can happen because: + * a) the LLM produces an invalid result + * b) the "partial" operation doesn't have enough data yet to execute + */ +export async function* toValidatedOperations[]>( + partialObjectStream: AsyncIterable<{ + partialOperation: any; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }>, + streamTools: T +): AsyncGenerator<{ + operation: InvalidOrOk>; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; +}> { + for await (const chunk of partialObjectStream) { + const func = streamTools.find( + (f) => f.name === chunk.partialOperation.type + )!; + + if (!func) { + // Skip operations with no matching function + // console.error("no matching function", chunk.partialOperation); + continue; + } + + const operation = func.validate(chunk.partialOperation); + + yield { + operation, + isUpdateToPreviousOperation: chunk.isUpdateToPreviousOperation, + isPossiblyPartial: chunk.isPossiblyPartial, + }; + } +} diff --git a/packages/xl-ai/src/api/tools/createAddBlocksTool.ts b/packages/xl-ai/src/api/tools/createAddBlocksTool.ts new file mode 100644 index 0000000000..4034a1a539 --- /dev/null +++ b/packages/xl-ai/src/api/tools/createAddBlocksTool.ts @@ -0,0 +1,216 @@ +import { BlockNoteEditor, insertBlocks, PartialBlock } from "@blocknote/core"; +import { JSONSchema7 } from "json-schema"; + +import { + AgentStep, + agentStepToTr, + delayAgentStep, + getStepsAsAgent, +} from "../../prosemirror/agent.js"; +import { updateToReplaceSteps } from "../../prosemirror/changeset.js"; +import { RebaseTool } from "../../prosemirror/rebaseTool.js"; +import { InvalidOrOk, streamTool } from "../streamTool/streamTool.js"; +import { validateArray } from "./util/validateArray.js"; + +export function createAddBlocksTool(config: { + description: string; + schema: { + block: JSONSchema7["items"]; + $defs?: JSONSchema7["$defs"]; + }; + validateBlock: ( + block: any, + editor: BlockNoteEditor, + ) => InvalidOrOk; + rebaseTool: ( + id: string, + editor: BlockNoteEditor, + ) => Promise; + toJSONToolCall: ( + editor: BlockNoteEditor, + chunk: { + operation: AddBlocksToolCall; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }, + ) => Promise> | undefined>; +}) { + return ( + editor: BlockNoteEditor, + options: { + idsSuffixed: boolean; + withDelays: boolean; + }, + ) => + streamTool>({ + name: "add", + description: config.description, + parameters: { + type: "object", + properties: { + referenceId: { + type: "string", + description: "MUST be an id of a block in the document", + }, + position: { + type: "string", + enum: ["before", "after"], + description: + "`after` to add blocks AFTER (below) the block with `referenceId`, `before` to add the block BEFORE (above)", + }, + blocks: { + items: config.schema.block, + type: "array", + }, + }, + required: ["referenceId", "position", "blocks"], + $defs: config.schema.$defs, + }, + validate: (operation) => { + if (operation.type !== "add") { + return { + result: "invalid", + reason: "invalid operation type", + }; + } + + if (operation.position !== "before" && operation.position !== "after") { + return { + result: "invalid", + reason: "invalid position", + }; + } + + if (!operation.referenceId || !operation.blocks) { + return { + result: "invalid", + reason: "referenceId and blocks are required", + }; + } + + let referenceId = operation.referenceId; + if (options.idsSuffixed) { + if (!referenceId?.endsWith("$")) { + return { + result: "invalid", + reason: "referenceId must end with $", + }; + } + + referenceId = referenceId.slice(0, -1); + } + + const block = editor.getBlock(referenceId); + + if (!block) { + return { + result: "invalid", + reason: "referenceId not found", + }; + } + + const validatedBlocksResult = validateArray( + operation.blocks, + (block) => config.validateBlock(block, editor), + ); + + if (validatedBlocksResult.result === "invalid") { + return validatedBlocksResult; + } + + return { + result: "ok", + value: { + type: operation.type, + referenceId, + position: operation.position, + blocks: validatedBlocksResult.value, + }, + }; + }, + execute: async function* (operationsStream) { + let addedBlockIds: string[] = []; // TODO: hacky + + for await (const chunk of operationsStream) { + if (!chunk.isUpdateToPreviousOperation) { + addedBlockIds = []; + } + + if (chunk.operation.type !== "add") { + // ignore non-add operations + yield chunk; + continue; + } + + const operation = chunk.operation as AddBlocksToolCall; + + const jsonToolCall = await config.toJSONToolCall(editor, chunk); + if (!jsonToolCall) { + continue; + } + + for (let i = 0; i < operation.blocks.length; i++) { + const block = jsonToolCall.blocks[i]; + const doc = editor.prosemirrorState.doc; + const tr = editor.prosemirrorState.tr; + // TODO: unit test + let agentSteps: AgentStep[] = []; + if (i < addedBlockIds.length) { + const tool = await config.rebaseTool(addedBlockIds[i], editor); + const steps = updateToReplaceSteps( + { + id: addedBlockIds[i], + block, + type: "update", + }, + tool.doc, + false, + ); + + const inverted = steps.map((step) => step.map(tool.invertMap)!); + agentSteps = getStepsAsAgent(doc, editor.pmSchema, inverted); + } else { + const ret = insertBlocks( + tr, + [block], + i > 0 ? addedBlockIds[i - 1] : operation.referenceId, + i > 0 ? "after" : operation.position, + ); + addedBlockIds.push(...ret.map((r) => r.id)); + // TODO: inverted needed? + agentSteps = getStepsAsAgent(doc, editor.pmSchema, tr.steps); + } + agentSteps = agentSteps + .filter((step) => step.type !== "select") + .map((step) => { + // this is a bit hacky, but we don't consider steps from inserts to be replaces + // technically, we are replacing the inserted block all the time instead of just appending content + // but we should just treat these as inserts by the agent, not replaces (replaces are "faked" to be slower) + step.type = "insert"; + return step; + }); + for (const step of agentSteps) { + if (options.withDelays) { + await delayAgentStep(step); + } + editor.transact((tr) => { + agentStepToTr(tr, step); + }); + // yield { + // ...chunk, + // result: "ok", + // lastBlockId: addedBlockIds[i], + // }; + } + } + } + }, + }); +} + +export type AddBlocksToolCall = { + type: "add"; + referenceId: string; + position: "before" | "after"; + blocks: T[]; +}; diff --git a/packages/xl-ai/src/api/tools/createUpdateBlockTool.ts b/packages/xl-ai/src/api/tools/createUpdateBlockTool.ts new file mode 100644 index 0000000000..ba65fd9da9 --- /dev/null +++ b/packages/xl-ai/src/api/tools/createUpdateBlockTool.ts @@ -0,0 +1,234 @@ +import { BlockNoteEditor, PartialBlock, trackPosition } from "@blocknote/core"; +import { JSONSchema7 } from "json-schema"; +import { + agentStepToTr, + delayAgentStep, + getStepsAsAgent, +} from "../../prosemirror/agent.js"; +import { updateToReplaceSteps } from "../../prosemirror/changeset.js"; +import { RebaseTool } from "../../prosemirror/rebaseTool.js"; +import { + InvalidOrOk, + StreamTool, + streamTool, + StreamToolCall, +} from "../streamTool/streamTool.js"; + +export type UpdateBlockToolCall = { + type: "update"; + id: string; + block: T; +}; + +export function createUpdateBlockTool(config: { + description: string; + schema: { + block: JSONSchema7; + $defs?: JSONSchema7["$defs"]; + }; + validateBlock: ( + block: any, + editor: BlockNoteEditor, + fallbackType?: string, + ) => InvalidOrOk; + rebaseTool: ( + id: string, + editor: BlockNoteEditor, + ) => Promise; + toJSONToolCall: ( + editor: BlockNoteEditor, + chunk: { + operation: UpdateBlockToolCall; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }, + ) => Promise> | undefined>; +}) { + return ( + editor: BlockNoteEditor, + options: { + idsSuffixed: boolean; + withDelays: boolean; + updateSelection?: { + from: number; + to: number; + }; + }, + ) => + streamTool>({ + name: "update", + description: config.description, + parameters: { + type: "object", + properties: { + id: { + type: "string", + description: "id of block to update", + }, + block: config.schema.block, + }, + required: ["id", "block"], + $defs: config.schema.$defs, + }, + validate: (operation) => { + if (operation.type !== "update") { + return { + result: "invalid", + reason: "invalid operation type", + }; + } + + if (!operation.id) { + return { + result: "invalid", + reason: "id is required", + }; + } + + let id = operation.id; + if (options.idsSuffixed) { + if (!id?.endsWith("$")) { + return { + result: "invalid", + reason: "id must end with $", + }; + } + + id = id.slice(0, -1); + } + + if (!operation.block) { + return { + result: "invalid", + reason: "block is required", + }; + } + + const block = editor.getBlock(id); + + if (!block) { + // eslint-disable-next-line no-console + console.error("BLOCK NOT FOUND", id); + return { + result: "invalid", + reason: "block not found", + }; + } + + const ret = config.validateBlock(operation.block, editor, block.type); + + if (ret.result === "invalid") { + return ret; + } + + return { + result: "ok", + value: { + type: operation.type, + id, + block: ret.value, + }, + }; + }, + execute: async function* ( + operationsStream: AsyncIterable<{ + operation: StreamToolCall[]>; + isUpdateToPreviousOperation: boolean; + isPossiblyPartial: boolean; + }>, + ) { + const STEP_SIZE = 50; + let minSize = STEP_SIZE; + const selectionPositions = options.updateSelection + ? { + from: trackPosition(editor, options.updateSelection.from), + to: trackPosition(editor, options.updateSelection.to), + } + : undefined; + + for await (const chunk of operationsStream) { + if (chunk.operation.type !== "update") { + // ignore non-update operations + yield chunk; + continue; + } + + const operation = chunk.operation as UpdateBlockToolCall; + + if (chunk.isPossiblyPartial) { + // TODO: unit test and / or extract to separate pipeline step + const size = JSON.stringify(operation.block).length; + if (size < minSize) { + continue; + } else { + // console.log("increasing minSize", minSize); + // increase minSize for next chunk + minSize = size + STEP_SIZE; + } + } else { + // reset for next chunk + minSize = STEP_SIZE; + } + // console.log("apply", operation.block); + + // TODO: this might be inefficient, we might be able to pass a single rebaseTool as long as we map subsequent operations + const tool = await config.rebaseTool(operation.id, editor); + // console.log("update", JSON.stringify(chunk.operation, null, 2)); + // Convert the update operation directly to ReplaceSteps + + const fromPos = selectionPositions + ? tool.invertMap.invert().map(selectionPositions.from()) + : undefined; + + const toPos = selectionPositions + ? tool.invertMap.invert().map(selectionPositions.to()) + : undefined; + + const jsonToolCall = await config.toJSONToolCall(editor, chunk); + if (!jsonToolCall) { + continue; + } + + const steps = updateToReplaceSteps( + jsonToolCall, + tool.doc, + chunk.isPossiblyPartial, + fromPos, + toPos, + ); + + if (steps.length === 1 && chunk.isPossiblyPartial) { + // TODO: check if replace step only? + // TODO: this doesn't consistently work, as there might be > 1 step when changeset wrongly sees a "space" as "keep" + + // when replacing a larger piece of text (try translating a 3 paragraph document), we want to do this as one single operation + // we don't want to do this "sentence-by-sentence" + + // if there's only a single replace step to be done and we're partial, let's wait for more content + continue; + } + + const inverted = steps.map((step) => step.map(tool.invertMap)!); + + const agentSteps = getStepsAsAgent( + editor.prosemirrorState.doc, + editor.pmSchema, + inverted, + ); + for (const step of agentSteps) { + if (options.withDelays) { + await delayAgentStep(step); + } + editor.transact((tr) => { + agentStepToTr(tr, step); + }); + // yield { + // ...chunk, + // result: "ok", + // lastBlockId: chunk.operation.id, + // }; + } + } + }, + }); +} diff --git a/packages/xl-ai/src/api/tools/delete.ts b/packages/xl-ai/src/api/tools/delete.ts new file mode 100644 index 0000000000..7d885b8918 --- /dev/null +++ b/packages/xl-ai/src/api/tools/delete.ts @@ -0,0 +1,112 @@ +import { BlockNoteEditor, removeAndInsertBlocks } from "@blocknote/core"; +import { + agentStepToTr, + delayAgentStep, + getStepsAsAgent, +} from "../../prosemirror/agent.js"; +import { streamTool } from "../streamTool/streamTool.js"; + +// TODO, rename to remove? +export const deleteBlockTool = ( + editor: BlockNoteEditor, + options: { idsSuffixed: boolean; withDelays: boolean }, +) => + streamTool({ + name: "delete", + description: "Delete a block", + parameters: { + type: "object", + properties: { + id: { + type: "string", + description: "id of block to delete", + }, + }, + required: ["id"], + }, + validate: (operation) => { + if (operation.type !== "delete") { + return { + result: "invalid", + reason: "invalid operation type", + }; + } + + if (!operation.id) { + return { + result: "invalid", + reason: "id is required", + }; + } + + let id = operation.id; + if (options.idsSuffixed) { + if (!id?.endsWith("$")) { + return { + result: "invalid", + reason: "id must end with $", + }; + } + + id = id.slice(0, -1); + } + + const block = editor.getBlock(id); + + if (!block) { + return { + result: "invalid", + reason: "block not found", + }; + } + + return { + result: "ok", + value: { + type: "delete", // TODO + id, + }, + }; + }, + execute: async function* (operationsStream) { + for await (const chunk of operationsStream) { + if (chunk.operation.type !== "delete") { + // ignore non-update operations + yield chunk; + continue; + } + + const operation = chunk.operation as DeleteBlockToolCall; + + const tr = editor.prosemirrorState.tr; + + removeAndInsertBlocks(tr, [operation.id], []); + + const agentSteps = getStepsAsAgent( + editor.prosemirrorState.doc, + editor.pmSchema, + tr.steps, + ); + + // TODO: invert? + for (const step of agentSteps) { + if (options.withDelays) { + await delayAgentStep(step); + } + editor.transact((tr) => { + agentStepToTr(tr, step); + }); + // yield { + // ...chunk, + // result: "ok", + // lastBlockId: operation.id, + // }; + } + } + }, + }); + +export type DeleteBlockToolCall = { + type: "delete"; + id: string; +}; diff --git a/packages/xl-ai/src/api/tools/util/validateArray.ts b/packages/xl-ai/src/api/tools/util/validateArray.ts new file mode 100644 index 0000000000..55dae050c4 --- /dev/null +++ b/packages/xl-ai/src/api/tools/util/validateArray.ts @@ -0,0 +1,32 @@ +import { DeepPartial } from "ai"; +import { InvalidOrOk } from "../../streamTool/streamTool.js"; + +export function validateArray( + inputArray: DeepPartial>, + validateItem: (item: DeepPartial) => InvalidOrOk +): InvalidOrOk { + if (!inputArray || !Array.isArray(inputArray) || inputArray.length === 0) { + return { + result: "invalid", + reason: "blocks is required", + }; + } + + const validatedBlocks: U[] = []; + + for (const item of inputArray) { + const validationResult = validateItem(item as DeepPartial); + if (validationResult.result === "invalid") { + return { + result: "invalid", + reason: `Invalid block: ${validationResult.reason}`, + }; + } + validatedBlocks.push(validationResult.value); + } + + return { + result: "ok", + value: validatedBlocks, + }; +} diff --git a/packages/xl-ai/src/api/util/JSONSchema.ts b/packages/xl-ai/src/api/util/JSONSchema.ts new file mode 100644 index 0000000000..f0061aedca --- /dev/null +++ b/packages/xl-ai/src/api/util/JSONSchema.ts @@ -0,0 +1,8 @@ +export type SimpleJSONObjectSchema = { + type: "object"; + properties: { + [key: string]: any; + }; + required?: string[]; + additionalProperties?: boolean; +}; diff --git a/packages/xl-ai/src/api/util/emptyBlock.ts b/packages/xl-ai/src/api/util/emptyBlock.ts new file mode 100644 index 0000000000..4d7fa60ee4 --- /dev/null +++ b/packages/xl-ai/src/api/util/emptyBlock.ts @@ -0,0 +1,10 @@ +import { Block } from "@blocknote/core"; + +// TODO: move? +export function isEmptyParagraph(block: Block) { + return ( + block.type === "paragraph" && + Array.isArray(block.content) && + block.content.length === 0 + ); + } \ No newline at end of file diff --git a/packages/xl-ai/src/api/util/stream.ts b/packages/xl-ai/src/api/util/stream.ts new file mode 100644 index 0000000000..03ac85c234 --- /dev/null +++ b/packages/xl-ai/src/api/util/stream.ts @@ -0,0 +1,66 @@ +/** + * Converts an AsyncIterable to a ReadableStream + */ +export function asyncIterableToStream( + iterable: AsyncIterable +): ReadableStream { + return new ReadableStream({ + async start(controller) { + try { + for await (const result of iterable) { + controller.enqueue(result); + } + controller.close(); + } catch (error) { + controller.error(error); + } + }, + }); +} + +// https://github.com/vercel/ai/blob/ebec3d3235d7a59bd8de8b0bed010777c1d25b05/packages/ai/core/util/async-iterable-stream.ts + +/** + * A stream that is both an AsyncIterable and a ReadableStream + */ +export type AsyncIterableStream = AsyncIterable & ReadableStream; + +/** + * Creates an AsyncIterableStream from a ReadableStream + */ +export function createAsyncIterableStream( + source: ReadableStream +): AsyncIterableStream { + if (source.locked) { + throw new Error( + "Stream (source) is already locked and cannot be iterated." + ); + } + + const stream = source.pipeThrough(new TransformStream()); + + (stream as AsyncIterableStream)[Symbol.asyncIterator] = () => { + if (stream.locked) { + throw new Error("Stream is already locked and cannot be iterated again."); + } + + const reader = stream.getReader(); + return { + async next(): Promise> { + const { done, value } = await reader.read(); + return done ? { done: true, value: undefined } : { done: false, value }; + }, + }; + }; + + return stream as AsyncIterableStream; +} + +/** + * Creates an AsyncIterableStream from an AsyncGenerator + */ +export function createAsyncIterableStreamFromAsyncIterable( + source: AsyncIterable +): AsyncIterableStream { + return createAsyncIterableStream(asyncIterableToStream(source)); +} diff --git a/packages/xl-ai/src/api/util/suffixIDs.ts b/packages/xl-ai/src/api/util/suffixIDs.ts new file mode 100644 index 0000000000..4160704335 --- /dev/null +++ b/packages/xl-ai/src/api/util/suffixIDs.ts @@ -0,0 +1,16 @@ +import type { + Block, + BlockSchema, + InlineContentSchema, + StyleSchema, +} from "@blocknote/core"; + +export function suffixIDs< + T extends Block +>(blocks: T[]): T[] { + return blocks.map((block) => ({ + ...block, + id: `${block.id}$`, + children: suffixIDs(block.children), + })); +} diff --git a/packages/xl-ai/src/api/util/trimArray.ts b/packages/xl-ai/src/api/util/trimArray.ts new file mode 100644 index 0000000000..f92267823d --- /dev/null +++ b/packages/xl-ai/src/api/util/trimArray.ts @@ -0,0 +1,26 @@ +export function trimArray( + arr: T[], + matchFn: (element: T) => boolean, + trimStart = true, + trimEnd = true +): T[] { + let start = 0; + let end = arr.length; + + // Find the first non-matching element from the start + if (trimStart) { + while (start < end && matchFn(arr[start])) { + start++; + } + } + + // Find the first non-matching element from the end + if (trimEnd) { + while (end > start && matchFn(arr[end - 1])) { + end--; + } + } + + // Slice the array to include only the untrimmed portion + return arr.slice(start, end); +} diff --git a/packages/xl-ai/src/blocks/AIBlock.tsx.bak b/packages/xl-ai/src/blocks/AIBlock.tsx.bak new file mode 100644 index 0000000000..d33a43883c --- /dev/null +++ b/packages/xl-ai/src/blocks/AIBlock.tsx.bak @@ -0,0 +1,90 @@ +import { BlockConfig, PropSchema, defaultProps } from "@blocknote/core"; +import { + ReactCustomBlockRenderProps, + createReactBlockSpec, +} from "@blocknote/react"; +import { KeyboardEvent, useCallback, useState } from "react"; +import { RiSparkling2Fill } from "react-icons/ri"; + +import { mockAIReplaceBlockContent } from "./mockAIFunctions.js"; + +export const aiPropSchema = { + ...defaultProps, + userPrompt: { + default: "" as const, + }, + timeGenerated: { + default: 0 as const, + }, +} satisfies PropSchema; + +export const aiBlockConfig = { + type: "ai" as const, + propSchema: aiPropSchema, + content: "inline", +} satisfies BlockConfig; + +export const AIRender = ( + props: ReactCustomBlockRenderProps +) => { + const [generating, setGenerating] = useState(false); + + const replaceContent = useCallback(async () => { + setGenerating(true); + + const prompt = await props.editor.blocksToMarkdownLossy([ + props.block as any, + ]); + await mockAIReplaceBlockContent(props.editor, prompt, props.block); + + setGenerating(false); + + props.editor.updateBlock(props.block, { + props: { + timeGenerated: Date.now(), + }, + }); + }, [props.block, props.editor]); + + const replaceContentOnEnter = useCallback( + async (event: KeyboardEvent) => { + const currentBlock = props.editor.getTextCursorPosition().block; + + if ( + event.key === "Enter" && + !props.editor.getSelection() && + currentBlock.id === props.block.id && + currentBlock.props.prompt === "" + ) { + event.preventDefault(); + event.stopPropagation(); + + await replaceContent(); + } + }, + [props.block, props.editor, replaceContent] + ); + + if (props.block.props.prompt) { + return

; + } + + return ( +

+ + + +
+ ); +}; + +export const AIToExternalHTML = ( + props: ReactCustomBlockRenderProps +) =>

; + +export const AIBlock = createReactBlockSpec(aiBlockConfig, { + render: AIRender, + toExternalHTML: AIToExternalHTML, +}); diff --git a/packages/xl-ai/src/components/AIBlockToolbar/AIBlockToolbar.tsx.bak b/packages/xl-ai/src/components/AIBlockToolbar/AIBlockToolbar.tsx.bak new file mode 100644 index 0000000000..9792e7730c --- /dev/null +++ b/packages/xl-ai/src/components/AIBlockToolbar/AIBlockToolbar.tsx.bak @@ -0,0 +1,40 @@ +import { useComponentsContext } from "@blocknote/react"; +import { ReactNode, useState } from "react"; + +import { AIBlockToolbarProps } from "./AIBlockToolbarProps.ts.bak"; +import { ShowPromptButton } from "./DefaultButtons/ShowPromptButton.tsx.bak"; +import { UpdateButton } from "./DefaultButtons/UpdateButton.tsx.bak"; + +export const getAIBlockToolbarItems = ( + props: AIBlockToolbarProps & { + updating: boolean; + setUpdating: (updating: boolean) => void; + } +): JSX.Element[] => [ + , + , +]; + +/** + * By default, the AIToolbar component will render with default buttons. + * However, you can override the selects/buttons to render by passing children. + * The children you pass should be: + * + * - Default buttons: Components found within the `/DefaultButtons` directory. + * - Custom buttons: Buttons made using the Components.AIToolbar.Button + * component from the component context. + */ +export const AIBlockToolbar = ( + props: AIBlockToolbarProps & { children?: ReactNode } +) => { + const Components = useComponentsContext()!; + + const [updating, setUpdating] = useState(false); + + return ( + + {props.children || + getAIBlockToolbarItems({ ...props, updating, setUpdating })} + + ); +}; diff --git a/packages/xl-ai/src/components/AIBlockToolbar/AIBlockToolbarController.tsx.bak b/packages/xl-ai/src/components/AIBlockToolbar/AIBlockToolbarController.tsx.bak new file mode 100644 index 0000000000..bf7e2464c5 --- /dev/null +++ b/packages/xl-ai/src/components/AIBlockToolbar/AIBlockToolbarController.tsx.bak @@ -0,0 +1,61 @@ +import { BlockSchema, InlineContentSchema, StyleSchema } from "@blocknote/core"; +import { + useBlockNoteEditor, + useUIElementPositioning, + useUIPluginState, +} from "@blocknote/react"; +import { flip, offset } from "@floating-ui/react"; +import { FC } from "react"; + +import { AIBlockToolbarProsemirrorPlugin } from "../../extensions/AIBlockToolbar/AIBlockToolbarPlugin.js"; +import { AIBlockToolbar } from "./AIBlockToolbar.tsx.bak"; +import { AIBlockToolbarProps } from "./AIBlockToolbarProps.ts.bak"; + +export const AIBlockToolbarController = (props: { + aiToolbar?: FC; +}) => { + const editor = useBlockNoteEditor< + BlockSchema, + InlineContentSchema, + StyleSchema + >(); + + if (!editor.extensions.aiBlockToolbar) { + throw new Error( + "AIToolbarController can only be used when BlockNote editor schema contains an AI block" + ); + } + + // TODO + const state = useUIPluginState( + ( + editor.extensions.aiBlockToolbar as AIBlockToolbarProsemirrorPlugin + ).onUpdate.bind( + editor.extensions.aiBlockToolbar as AIBlockToolbarProsemirrorPlugin + ) + ); + + const { isMounted, ref, style, getFloatingProps } = useUIElementPositioning( + state?.show || false, + state?.referencePos || null, + 3000, + { + placement: "top-end", + middleware: [offset(10), flip()], + } + ); + + if (!isMounted || !state) { + return null; + } + + const { prompt } = state; + + const Component = props.aiToolbar || AIBlockToolbar; + + return ( +

+ +
+ ); +}; diff --git a/packages/xl-ai/src/components/AIBlockToolbar/AIBlockToolbarProps.ts.bak b/packages/xl-ai/src/components/AIBlockToolbar/AIBlockToolbarProps.ts.bak new file mode 100644 index 0000000000..512f39439c --- /dev/null +++ b/packages/xl-ai/src/components/AIBlockToolbar/AIBlockToolbarProps.ts.bak @@ -0,0 +1,3 @@ +export type AIBlockToolbarProps = { + userPrompt: string; +}; diff --git a/packages/xl-ai/src/components/AIBlockToolbar/DefaultButtons/ShowPromptButton.tsx.bak b/packages/xl-ai/src/components/AIBlockToolbar/DefaultButtons/ShowPromptButton.tsx.bak new file mode 100644 index 0000000000..47072c0ce5 --- /dev/null +++ b/packages/xl-ai/src/components/AIBlockToolbar/DefaultButtons/ShowPromptButton.tsx.bak @@ -0,0 +1,119 @@ +import { + BlockSchemaWithBlock, + InlineContentSchema, + StyleSchema, +} from "@blocknote/core"; +import { useComponentsContext } from "@blocknote/react"; +import { + ChangeEvent, + KeyboardEvent, + useCallback, + useEffect, + useState, +} from "react"; +import { RiSparkling2Fill } from "react-icons/ri"; + +import { useBlockNoteEditor } from "@blocknote/react"; +import { aiBlockConfig } from "../../../blocks/AIBlock.tsx.bak"; +import { mockAIReplaceBlockContent } from "../../../blocks/AIBlockContent/mockAIFunctions.js"; +import { useAIDictionary } from "../../../i18n/useAIDictionary.js"; +import { AIBlockToolbarProps } from "../AIBlockToolbarProps.ts.bak"; + +export const ShowPromptButton = ( + props: AIBlockToolbarProps & { + setUpdating: (updating: boolean) => void; + } +) => { + const dict = useAIDictionary(); + const Components = useComponentsContext()!; + + const editor = useBlockNoteEditor< + BlockSchemaWithBlock<"ai", typeof aiBlockConfig>, + InlineContentSchema, + StyleSchema + >(); + + const [opened, setOpened] = useState(false); + const [currentEditingPrompt, setCurrentEditingPrompt] = useState( + props.prompt + ); + + const handleClick = useCallback(() => setOpened(!opened), [opened]); + + const handleEnter = useCallback( + async (event: KeyboardEvent) => { + if (event.key === "Enter") { + event.preventDefault(); + props.setUpdating(true); + setOpened(false); + await mockAIReplaceBlockContent( + editor, + currentEditingPrompt, + editor.getTextCursorPosition().block + ); + props.setUpdating(false); + } + }, + [currentEditingPrompt, editor, props] + ); + + const handleChange = useCallback( + (event: ChangeEvent) => + setCurrentEditingPrompt(event.currentTarget.value), + [] + ); + + useEffect(() => { + const callback = () => setOpened(false); + + editor.domElement.addEventListener("mousedown", callback); + + return () => { + editor.domElement.removeEventListener("mousedown", callback); + }; + }, [editor.domElement]); + + if (!editor.isEditable) { + return null; + } + + return ( + + + } + label={dict.ai_block_toolbar.show_prompt} + onClick={handleClick}> + {dict.ai_block_toolbar.show_prompt} + + + + + } + value={currentEditingPrompt || ""} + autoFocus={true} + placeholder={""} + onKeyDown={handleEnter} + onChange={handleChange} + /> + + + + ); +}; diff --git a/packages/xl-ai/src/components/AIBlockToolbar/DefaultButtons/UpdateButton.tsx.bak b/packages/xl-ai/src/components/AIBlockToolbar/DefaultButtons/UpdateButton.tsx.bak new file mode 100644 index 0000000000..cc0018792d --- /dev/null +++ b/packages/xl-ai/src/components/AIBlockToolbar/DefaultButtons/UpdateButton.tsx.bak @@ -0,0 +1,52 @@ +import { + BlockSchemaWithBlock, + InlineContentSchema, + StyleSchema, +} from "@blocknote/core"; +import { useComponentsContext } from "@blocknote/react"; + +import { useBlockNoteEditor } from "@blocknote/react"; +import { aiBlockConfig } from "../../../blocks/AIBlock.tsx.bak"; +import { mockAIReplaceBlockContent } from "../../../blocks/AIBlockContent/mockAIFunctions.js"; +import { useAIDictionary } from "../../../i18n/useAIDictionary.js"; +import { AIBlockToolbarProps } from "../AIBlockToolbarProps.ts.bak"; + +export const UpdateButton = ( + props: AIBlockToolbarProps & { + updating: boolean; + setUpdating: (updating: boolean) => void; + } +) => { + const dict = useAIDictionary(); + const Components = useComponentsContext()!; + + const editor = useBlockNoteEditor< + BlockSchemaWithBlock<"ai", typeof aiBlockConfig>, + InlineContentSchema, + StyleSchema + >(); + + if (!editor.isEditable) { + return null; + } + + return ( + { + props.setUpdating(true); + editor.focus(); + await mockAIReplaceBlockContent( + editor, + props.prompt, + editor.getTextCursorPosition().block + ); + props.setUpdating(false); + }}> + {props.updating + ? dict.ai_block_toolbar.updating + : dict.ai_block_toolbar.update} + + ); +}; diff --git a/packages/xl-ai/src/components/AIMenu/AIMenu.tsx b/packages/xl-ai/src/components/AIMenu/AIMenu.tsx new file mode 100644 index 0000000000..544fa4dd74 --- /dev/null +++ b/packages/xl-ai/src/components/AIMenu/AIMenu.tsx @@ -0,0 +1,103 @@ +import { useBlockNoteEditor } from "@blocknote/react"; +import { useCallback, useEffect, useMemo, useState } from "react"; +// import { useAIDictionary } from "../../i18n/useAIDictionary"; +import { BlockNoteEditor } from "@blocknote/core"; +import { useStore } from "zustand"; +import { getAIExtension } from "../../AIExtension.js"; +import { useAIDictionary } from "../../i18n/useAIDictionary.js"; +import { PromptSuggestionMenu } from "./PromptSuggestionMenu.js"; +import { + AIMenuSuggestionItem, + getDefaultAIActionMenuItems, + getDefaultAIMenuItemsWithSelection, + getDefaultAIMenuItemsWithoutSelection, +} from "./getDefaultAIMenuItems.js"; + +export const AIMenu = (props: { + items?: ( + editor: BlockNoteEditor, + aiResponseStatus: + | "user-input" + | "thinking" + | "ai-writing" + | "error" + | "user-reviewing" + | "closed" + ) => AIMenuSuggestionItem[]; + onManualPromptSubmit?: (userPrompt: string) => void; +}) => { + const editor = useBlockNoteEditor(); + const [prompt, setPrompt] = useState(""); + const dict = useAIDictionary(); + + const ai = getAIExtension(editor); + + const aiResponseStatus = useStore(ai.store, (state) => + state.aiMenuState !== "closed" ? state.aiMenuState.status : "closed" + ); + + const { items: externalItems } = props; + // note, technically there might be a bug with this useMemo when quickly changing the selection and opening the menu + // would not call getDefaultAIMenuItems with the correct selection, because the component is reused and the memo not retriggered + // practically this should not happen (you can test it by using a high transition duration in useUIElementPositioning) + const items = useMemo(() => { + let items: AIMenuSuggestionItem[] = []; + if (externalItems) { + items = externalItems(editor, aiResponseStatus); + } else { + if (aiResponseStatus === "user-input") { + items = editor.getSelection() + ? getDefaultAIMenuItemsWithSelection(editor) + : getDefaultAIMenuItemsWithoutSelection(editor); + } else if (aiResponseStatus === "user-reviewing") { + items = getDefaultAIActionMenuItems(editor); + } + } + + // map from AI items to React Items required by PromptSuggestionMenu + return items.map((item) => { + return { + ...item, + onItemClick: () => { + item.onItemClick(setPrompt); + }, + }; + }); + }, [externalItems, aiResponseStatus, editor]); + + const onManualPromptSubmitDefault = useCallback( + async (userPrompt: string) => { + await ai.callLLM({ + userPrompt, + useSelection: editor.getSelection() !== undefined, + }); + }, + [ai, editor] + ); + + useEffect(() => { + // TODO: this is a bit hacky to run a useeffect to reset the prompt when the AI response is done + if (aiResponseStatus === "user-reviewing") { + setPrompt(""); + } + }, [aiResponseStatus]); + + return ( + + ); +}; diff --git a/packages/xl-ai/src/components/AIMenu/BlockPositioner.tsx b/packages/xl-ai/src/components/AIMenu/BlockPositioner.tsx new file mode 100644 index 0000000000..8203e42a1f --- /dev/null +++ b/packages/xl-ai/src/components/AIMenu/BlockPositioner.tsx @@ -0,0 +1,79 @@ +import { useUIElementPositioning } from "@blocknote/react"; +import { OpenChangeReason, autoUpdate, offset, size } from "@floating-ui/react"; +import { useMemo } from "react"; +// The block positioner automattically positions it's children below the block with `blockID` +export const BlockPositioner = (props: { + blockID?: string; + children: React.ReactNode; + onOpenChange?: ( + open: boolean, + event: Event, + reason: OpenChangeReason + ) => void; +}) => { + // TODO: desirable to do like this? + const element = props.blockID + ? document.querySelector(`[data-id="${props.blockID}"]`) + : undefined; + + // Note that we can't pass element directly, because the useDismiss then doesn't work when clicking on the element + // (for that to work, we'd need to implement getReferenceProps(), but it's probably unsafe to attach those listeners to a prosemirror managed element) + const reference = useMemo(() => { + return element + ? { + getBoundingClientRect: () => { + // console.log( + // "getBoundingClientRect", + // element.getBoundingClientRect() + // ); + return element.getBoundingClientRect(); + }, + contextElement: element, + } + : null; + }, [element]); + + const { isMounted, ref, style, getFloatingProps } = useUIElementPositioning( + element ? true : false, + reference, + 3000, + { + // canDismiss: false, + placement: "bottom", + middleware: [ + offset(10), + // flip(), + size({ + apply({ rects, elements }) { + Object.assign(elements.floating.style, { + width: `${rects.reference.width}px`, + }); + }, + }), + ], + onOpenChange: props.onOpenChange, + whileElementsMounted: (referenceEl, floatingEl, update) => { + const cleanup = autoUpdate(referenceEl, floatingEl, update, { + animationFrame: true, + }); + return cleanup; + }, + } + ); + + if (!isMounted) { + return null; + } + + return ( +
+ {props.children} +
+ ); +}; diff --git a/packages/xl-ai/src/components/AIMenu/PromptSuggestionMenu.tsx b/packages/xl-ai/src/components/AIMenu/PromptSuggestionMenu.tsx new file mode 100644 index 0000000000..4ec200aed1 --- /dev/null +++ b/packages/xl-ai/src/components/AIMenu/PromptSuggestionMenu.tsx @@ -0,0 +1,135 @@ +import { filterSuggestionItems, mergeCSSClasses } from "@blocknote/core"; +import { + DefaultReactSuggestionItem, + useComponentsContext, + useSuggestionMenuKeyboardHandler, +} from "@blocknote/react"; +import { + ChangeEvent, + KeyboardEvent, + useCallback, + useEffect, + useMemo, + useState, +} from "react"; + +import { RiSparkling2Fill } from "react-icons/ri"; + +// import { useAIDictionary } from "../../i18n/useAIDictionary"; + +export type PromptSuggestionMenuProps = { + items: DefaultReactSuggestionItem[]; + onManualPromptSubmit: (userPrompt: string) => void; + promptText?: string; + onPromptTextChange?: (userPrompt: string) => void; + placeholder?: string; + disabled?: boolean; + loading?: boolean; + error?: string; +}; + +export const PromptSuggestionMenu = (props: PromptSuggestionMenuProps) => { + // const dict = useAIDictionary(); + const Components = useComponentsContext()!; + + const { onManualPromptSubmit, promptText, onPromptTextChange } = props; + + // Only used internal state when `props.prompText` is undefined (i.e., uncontrolled mode) + const [internalPromptText, setInternalPromptText] = useState(""); + const promptTextToUse = promptText || internalPromptText; + + const handleEnter = useCallback( + async (event: KeyboardEvent) => { + if (event.key === "Enter") { + // console.log("ENTER", currentEditingPrompt); + onManualPromptSubmit(promptTextToUse); + } + }, + [promptTextToUse, onManualPromptSubmit] + ); + + const handleChange = useCallback( + (event: ChangeEvent) => { + const newValue = event.currentTarget.value; + if (onPromptTextChange) { + onPromptTextChange(newValue); + } + + // Only update internal state if it's uncontrolled + if (promptText === undefined) { + setInternalPromptText(newValue); + } + }, + [onPromptTextChange, setInternalPromptText, promptText] + ); + + const items: DefaultReactSuggestionItem[] = useMemo(() => { + return filterSuggestionItems(props.items, promptTextToUse); + }, [promptTextToUse, props.items]); + + const { selectedIndex, setSelectedIndex, handler } = + useSuggestionMenuKeyboardHandler(items, (item) => item.onItemClick()); + + const handleKeyDown = useCallback( + (event: KeyboardEvent) => { + // TODO: handle backspace to close + if (event.key === "Enter") { + if (items.length > 0) { + handler(event); + } else { + // TODO: check focus? + handleEnter(event); + } + } else { + handler(event); + } + }, + [handleEnter, handler, items.length] + ); + + // Resets index when items change + useEffect(() => { + setSelectedIndex(0); + }, [promptTextToUse, setSelectedIndex]); + + return ( +
+ + } + value={promptTextToUse || ""} + autoFocus={true} + placeholder={props.placeholder} + disabled={props.disabled} + onKeyDown={handleKeyDown} + onChange={handleChange} + autoComplete={"off"} + // TODO: loader or error + // rightSection={props.loading ? : props.error} + /> + + + {items.map((item, index) => ( + + ))} + +
+ ); +}; diff --git a/packages/xl-ai/src/components/AIMenu/getDefaultAIMenuItems.tsx b/packages/xl-ai/src/components/AIMenu/getDefaultAIMenuItems.tsx new file mode 100644 index 0000000000..f7561f4c02 --- /dev/null +++ b/packages/xl-ai/src/components/AIMenu/getDefaultAIMenuItems.tsx @@ -0,0 +1,266 @@ +import { + BlockNoteEditor, + BlockSchema, + InlineContentSchema, + StyleSchema, +} from "@blocknote/core"; +import { DefaultReactSuggestionItem } from "@blocknote/react"; +import { + RiArrowGoBackFill, + RiBallPenLine, + RiCheckFill, + RiCheckLine, + RiEarthLine, + RiListCheck3, + RiMagicLine, + RiText, + RiTextWrap, +} from "react-icons/ri"; + +import { getAIExtension } from "../../AIExtension.js"; +import { getAIDictionary } from "../../i18n/dictionary.js"; + +export type AIMenuSuggestionItem = Omit< + DefaultReactSuggestionItem, + "onItemClick" +> & { + onItemClick: (setPrompt: (userPrompt: string) => void) => void; +}; + +/** + * Default items we show in the AI Menu when there is no selection active. + * For example, when the AI menu is triggered via the slash menu + */ +export function getDefaultAIMenuItemsWithoutSelection< + BSchema extends BlockSchema, + I extends InlineContentSchema, + S extends StyleSchema +>(editor: BlockNoteEditor): AIMenuSuggestionItem[] { + const dict = getAIDictionary(editor); + const ai = getAIExtension(editor); + return [ + { + key: "continue_writing", + title: dict.ai_menu.continue_writing.title, + aliases: dict.ai_menu.continue_writing.aliases, + icon: , + onItemClick: async () => { + await ai.callLLM({ + userPrompt: + "Continue writing: write more text at the current cursor position related to the previous text", + // By default, LLM will be able to add / update / delete blocks. For "continue writing", we only want to allow adding new blocks. + defaultStreamTools: { + add: true, + delete: false, + update: false, + }, + }); + }, + size: "small", + }, + + { + key: "summarize", + title: dict.ai_menu.summarize.title, + aliases: dict.ai_menu.summarize.aliases, + icon: , + onItemClick: async () => { + await ai.callLLM({ + userPrompt: "Summarize", + // By default, LLM will be able to add / update / delete blocks. For "summarize", we only want to allow adding new blocks. + defaultStreamTools: { + add: true, + delete: false, + update: false, + }, + }); + }, + size: "small", + }, + { + key: "action_items", + title: dict.ai_menu.add_action_items.title, + aliases: dict.ai_menu.add_action_items.aliases, + icon: , + onItemClick: async () => { + await ai.callLLM({ + userPrompt: "Add action items", + // By default, LLM will be able to add / update / delete blocks. For "summarize", we only want to allow adding new blocks. + defaultStreamTools: { + add: true, + delete: false, + update: false, + }, + }); + }, + size: "small", + }, + { + key: "write_anything", + title: dict.ai_menu.write_anything.title, + aliases: dict.ai_menu.write_anything.aliases, + icon: , + onItemClick: (setPrompt) => { + setPrompt(dict.ai_menu.write_anything.prompt_placeholder); + }, + size: "small", + }, + ]; +} + +/** + * Default items we show in the AI Menu when there is a selection active. + * For example, when the AI menu is triggered via formatting toolbar (AIToolbarButton) + */ +export function getDefaultAIMenuItemsWithSelection< + BSchema extends BlockSchema, + I extends InlineContentSchema, + S extends StyleSchema +>(editor: BlockNoteEditor): AIMenuSuggestionItem[] { + const dict = getAIDictionary(editor); + + const ai = getAIExtension(editor); + + return [ + { + key: "improve_writing", + title: dict.ai_menu.improve_writing.title, + aliases: dict.ai_menu.improve_writing.aliases, + icon: , + onItemClick: async () => { + await ai.callLLM({ + useSelection: true, + userPrompt: "Improve writing", + // By default, LLM will be able to add / update / delete blocks. For "summarize", we only want to allow adding new blocks. + defaultStreamTools: { + add: false, + delete: false, + update: true, + }, + }); + }, + size: "small", + }, + { + key: "fix_spelling", + title: dict.ai_menu.fix_spelling.title, + aliases: dict.ai_menu.fix_spelling.aliases, + icon: , + onItemClick: async () => { + await ai.callLLM({ + useSelection: true, + userPrompt: "Fix spelling", + // By default, LLM will be able to add / update / delete blocks. For "summarize", we only want to allow adding new blocks. + defaultStreamTools: { + add: false, + delete: false, + update: true, + }, + }); + }, + size: "small", + }, + { + key: "translate", + title: dict.ai_menu.translate.title, + aliases: dict.ai_menu.translate.aliases, + icon: , + onItemClick: (setPrompt) => { + setPrompt(dict.ai_menu.translate.prompt_placeholder); + }, + size: "small", + }, + { + key: "simplify", + title: dict.ai_menu.simplify.title, + aliases: dict.ai_menu.simplify.aliases, + icon: , + onItemClick: async () => { + await ai.callLLM({ + useSelection: true, + userPrompt: "Simplify", + // By default, LLM will be able to add / update / delete blocks. For "summarize", we only want to allow adding new blocks. + defaultStreamTools: { + add: false, + delete: false, + update: true, + }, + }); + }, + size: "small", + }, + ]; +} + +/** + * Default items we show in the AI Menu when the AI response is done. + */ +export function getDefaultAIActionMenuItems< + BSchema extends BlockSchema, + I extends InlineContentSchema, + S extends StyleSchema +>(editor: BlockNoteEditor): AIMenuSuggestionItem[] { + const dict = getAIDictionary(editor); + const ai = getAIExtension(editor); + + return [ + { + key: "accept", + title: dict.ai_menu.accept.title, + aliases: dict.ai_menu.accept.aliases, + icon: , + onItemClick: () => { + ai.acceptChanges(); + }, + size: "small", + }, + // TODO: retry UX + // { + // key: "retry", + // title: dict.ai_menu.retry.title, + // aliases: dict.ai_menu.retry.aliases, + // icon: , + // onItemClick: () => { + // console.log("RETRY"); + // }, + // size: "small", + // }, + { + key: "revert", + title: dict.ai_menu.revert.title, + aliases: dict.ai_menu.revert.aliases, + icon: , + onItemClick: () => { + ai.rejectChanges(); + }, + size: "small", + }, + ]; +} + +/** +3 examples: + +input: +- pass schema / blocks / functions + +1) block -> markdown, markdown -> block +2) pass entire document +3) functions (updateBlock, insertBlock, deleteBlock) + + +response: +- markdown +- entire document (text stream) +- entire document (block call streams) + * + */ + +// const context = createAIExecutionContext(editor, prompt, () = { +// // add ai command +// // add context + +// // apply streaming response +// context.execute(); +// }); +// aitoolbar.open(context); diff --git a/packages/xl-ai/src/components/BlockNoteAIUI.tsx b/packages/xl-ai/src/components/BlockNoteAIUI.tsx new file mode 100644 index 0000000000..cf51c8769b --- /dev/null +++ b/packages/xl-ai/src/components/BlockNoteAIUI.tsx @@ -0,0 +1,57 @@ +import { useBlockNoteEditor } from "@blocknote/react"; + +import { useStore } from "zustand"; +import { getAIExtension } from "../AIExtension.js"; +import { AIMenu } from "./AIMenu/AIMenu.js"; +import { BlockPositioner } from "./AIMenu/BlockPositioner.js"; + +export type BlockNoteAIUIProps = { + aiBlockToolbar?: boolean; + aiInlineToolbar?: boolean; + aiMenu?: boolean; +}; + +export function BlockNoteAIUI(props: BlockNoteAIUIProps) { + const editor = useBlockNoteEditor(); + + if (!editor) { + throw new Error( + "BlockNoteDefaultUI must be used within a BlockNoteContext.Provider" + ); + } + + return ( + <> + {/* {editor.extensions.aiBlockToolbar && props.aiBlockToolbar !== false && ( + + )} */} + {props.aiMenu !== false && } + + ); +} + +const AIMenuController = () => { + const editor = useBlockNoteEditor(); + const ai = getAIExtension(editor); + + const aiMenuState = useStore(ai.store, (state) => state.aiMenuState); + + const blockId = aiMenuState === "closed" ? undefined : aiMenuState.blockId; + + return ( + { + if ( + !open && + aiMenuState !== "closed" && + (aiMenuState.status === "user-input" || + aiMenuState.status === "error") + ) { + ai.closeAIMenu(); + } + }}> + + + ); +}; diff --git a/packages/xl-ai/src/components/FormattingToolbar/AIToolbarButton.tsx b/packages/xl-ai/src/components/FormattingToolbar/AIToolbarButton.tsx new file mode 100644 index 0000000000..1f958fe5c7 --- /dev/null +++ b/packages/xl-ai/src/components/FormattingToolbar/AIToolbarButton.tsx @@ -0,0 +1,45 @@ +import { BlockSchema, InlineContentSchema, StyleSchema } from "@blocknote/core"; +import { useComponentsContext } from "@blocknote/react"; +import { RiSparkling2Fill } from "react-icons/ri"; + +import { useBlockNoteEditor } from "@blocknote/react"; + +import { getAIExtension } from "../../AIExtension.js"; +import { useAIDictionary } from "../../i18n/useAIDictionary.js"; + +export const AIToolbarButton = () => { + const dict = useAIDictionary(); + const Components = useComponentsContext()!; + + const editor = useBlockNoteEditor< + BlockSchema, + InlineContentSchema, + StyleSchema + >(); + + const ai = getAIExtension(editor); + + const onClick = () => { + editor.formattingToolbar.closeMenu(); + const selection = editor.getSelection(); + if (!selection) { + throw new Error("No selection"); + } + const position = selection.blocks[selection.blocks.length - 1].id; + ai.openAIMenuAtBlock(position); + }; + + if (!editor.isEditable) { + return null; + } + + return ( + } + onClick={onClick} + /> + ); +}; diff --git a/packages/xl-ai/src/components/SuggestionMenu/getAISlashMenuItems.tsx b/packages/xl-ai/src/components/SuggestionMenu/getAISlashMenuItems.tsx new file mode 100644 index 0000000000..32052e4468 --- /dev/null +++ b/packages/xl-ai/src/components/SuggestionMenu/getAISlashMenuItems.tsx @@ -0,0 +1,60 @@ +import { + BlockNoteEditor, + BlockSchema, + InlineContentSchema, + StyleSchema, +} from "@blocknote/core"; +import { DefaultReactSuggestionItem } from "@blocknote/react"; +import { RiSparkling2Fill } from "react-icons/ri"; + +import { getAIExtension } from "../../AIExtension.js"; +import { getAIDictionary } from "../../i18n/dictionary.js"; +const Icons = { + AI: RiSparkling2Fill, +}; + +/** + * Returns AI related items that can be added to the slash menu + */ +export function getAISlashMenuItems< + BSchema extends BlockSchema, + I extends InlineContentSchema, + S extends StyleSchema +>(editor: BlockNoteEditor): DefaultReactSuggestionItem[] { + const ai = getAIExtension(editor); + const items = [ + { + key: "ai", + onItemClick: () => { + const cursor = editor.getTextCursorPosition(); + if ( + cursor.block.content && + Array.isArray(cursor.block.content) && // isarray check not ideal + cursor.block.content.length === 0 && + cursor.prevBlock + ) { + ai.openAIMenuAtBlock(cursor.prevBlock.id); + } else { + ai.openAIMenuAtBlock(cursor.block.id); + } + }, + ...getAIDictionary(editor).slash_menu.ai, + icon: , + }, + ]; + + // if (checkBlockTypeInSchema(aiBlockConfig, editor)) { + // items.push({ + // key: "ai_block", + // onItemClick: () => { + // insertOrUpdateBlock(editor, { + // type: "ai", + // }); + // }, + // ...getAIDictionary(editor).slash_menu.ai_block, + // icon: , + // }); + // } + + return items; +} diff --git a/packages/xl-ai/src/i18n/dictionary.ts b/packages/xl-ai/src/i18n/dictionary.ts new file mode 100644 index 0000000000..a199d0aebe --- /dev/null +++ b/packages/xl-ai/src/i18n/dictionary.ts @@ -0,0 +1,27 @@ +// function scramble(dict: any) { +// const newDict: any = {} as any; + +import type { BlockNoteEditor } from "@blocknote/core"; +import type { en } from "./locales"; + +// for (const key in dict) { +// if (typeof dict[key] === "object") { +// newDict[key] = scramble(dict[key]); +// } else { +// newDict[key] = dict[key].split("").reverse().join(""); +// } +// } + +// return newDict; +// } + +export function getAIDictionary(editor: BlockNoteEditor) { + if (!(editor.dictionary as any).ai) { + throw new Error("AI dictionary not found"); + } + return (editor.dictionary as any).ai as AIDictionary; +} + +export type AIDictionary = typeof en; + +// TODO: make placeholder work diff --git a/packages/xl-ai/src/i18n/locales/ar.ts b/packages/xl-ai/src/i18n/locales/ar.ts new file mode 100644 index 0000000000..ac14c587e8 --- /dev/null +++ b/packages/xl-ai/src/i18n/locales/ar.ts @@ -0,0 +1,50 @@ +import type { AIDictionary } from "../dictionary"; + +export const ar: AIDictionary = { + formatting_toolbar: { + ai: { + tooltip: "Generate content", + input_placeholder: "Enter a prompt", + }, + }, + slash_menu: { + ai_block: { + title: "AI Block", + subtext: "Block with AI generated content", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + ai: { + title: "Ask AI", + subtext: "Continue writing with AI", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + }, + placeholders: { + ai: "Enter a prompt", + }, + ai_menu: { + custom_prompt: { + title: "Custom Prompt", + subtext: "Use your query as an AI prompt", + aliases: ["", "custom prompt"], + }, + make_longer: { + title: "Make Longer", + aliases: ["make longer"], + }, + } as any, // TODO + ai_block_toolbar: { + show_prompt: "Generated by AI", + show_prompt_datetime_tooltip: "Generated:", + update: "Update", + updating: "Updating…", + }, + ai_inline_toolbar: { + accept: "Accept", + retry: "Retry", + updating: "Updating…", + revert: "Revert", + }, +}; diff --git a/packages/xl-ai/src/i18n/locales/en.ts b/packages/xl-ai/src/i18n/locales/en.ts new file mode 100644 index 0000000000..13c48816da --- /dev/null +++ b/packages/xl-ai/src/i18n/locales/en.ts @@ -0,0 +1,96 @@ +export const en = { + formatting_toolbar: { + ai: { + tooltip: "Generate content", + input_placeholder: "Enter a prompt", + }, + }, + slash_menu: { + ai_block: { + title: "AI Block", + subtext: "Block with AI generated content", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + ai: { + title: "Ask AI", + subtext: "Continue writing with AI", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + }, + placeholders: { + ai: "Enter a prompt", + }, + ai_menu: { + // custom_prompt: { + // title: "Custom Prompt", + // subtext: "Use your query as an AI prompt", + // aliases: [ + // "", // TODO: add comment + // "custom prompt", + // ], + // }, + continue_writing: { + title: "Continue Writing", + aliases: undefined, + }, + summarize: { + title: "Summarize", + aliases: undefined, + }, + add_action_items: { + title: "Add Action Items", + aliases: undefined, + }, + write_anything: { + title: "Write Anything…", + aliases: undefined, + prompt_placeholder: "Write about ", + }, + make_longer: { + title: "Make Longer", + aliases: undefined, + }, + make_shorter: { + title: "Make Shorter", + aliases: undefined, + }, + rewrite: { + title: "Rewrite", + aliases: undefined, + }, + simplify: { + title: "Simplify", + aliases: undefined, + }, + translate: { + title: "Translate…", + aliases: undefined, + prompt_placeholder: "Translate into ", + }, + fix_spelling: { + title: "Fix Spelling", + aliases: undefined, + }, + improve_writing: { + title: "Improve Writing", + aliases: undefined, + }, + accept: { title: "Accept", aliases: undefined }, + retry: { title: "Retry", aliases: undefined }, + revert: { title: "Revert", aliases: undefined }, + }, + ai_block_toolbar: { + show_prompt: "Generated by AI", + show_prompt_datetime_tooltip: "Generated:", + update: "Update", + updating: "Updating…", + }, + ai_inline_toolbar: { + accept: "Accept", + retry: "Retry", + updating: "Updating…", + revert: "Revert", + }, +}; diff --git a/packages/xl-ai/src/i18n/locales/fr.ts b/packages/xl-ai/src/i18n/locales/fr.ts new file mode 100644 index 0000000000..60137ca4f6 --- /dev/null +++ b/packages/xl-ai/src/i18n/locales/fr.ts @@ -0,0 +1,50 @@ +import type { AIDictionary } from "../dictionary"; + +export const fr: AIDictionary = { + formatting_toolbar: { + ai: { + tooltip: "Generate content", + input_placeholder: "Enter a prompt", + }, + }, + slash_menu: { + ai_block: { + title: "AI Block", + subtext: "Block with AI generated content", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + ai: { + title: "Ask AI", + subtext: "Continue writing with AI", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + }, + placeholders: { + ai: "Enter a prompt", + }, + ai_menu: { + // custom_prompt: { + // title: "Custom Prompt", + // subtext: "Use your query as an AI prompt", + // aliases: undefined, + // }, + make_longer: { + title: "Make Longer", + aliases: undefined, + }, + } as any, // TODO + ai_block_toolbar: { + show_prompt: "Generated by AI", + show_prompt_datetime_tooltip: "Generated:", + update: "Update", + updating: "Updating…", + }, + ai_inline_toolbar: { + accept: "Accept", + retry: "Retry", + updating: "Updating…", + revert: "Revert", + }, +}; diff --git a/packages/xl-ai/src/i18n/locales/index.ts b/packages/xl-ai/src/i18n/locales/index.ts new file mode 100644 index 0000000000..6f109bcef2 --- /dev/null +++ b/packages/xl-ai/src/i18n/locales/index.ts @@ -0,0 +1,12 @@ +export * from "./ar.js"; +export * from "./en.js"; +export * from "./fr.js"; +export * from "./is.js"; +export * from "./ja.js"; +export * from "./ko.js"; +export * from "./nl.js"; +export * from "./pl.js"; +export * from "./pt.js"; +export * from "./ru.js"; +export * from "./vi.js"; +export * from "./zh.js"; diff --git a/packages/xl-ai/src/i18n/locales/is.ts b/packages/xl-ai/src/i18n/locales/is.ts new file mode 100644 index 0000000000..864b8c6eac --- /dev/null +++ b/packages/xl-ai/src/i18n/locales/is.ts @@ -0,0 +1,50 @@ +import type { AIDictionary } from "../dictionary"; + +export const is: AIDictionary = { + formatting_toolbar: { + ai: { + tooltip: "Generate content", + input_placeholder: "Enter a prompt", + }, + }, + slash_menu: { + ai_block: { + title: "AI Block", + subtext: "Block with AI generated content", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + ai: { + title: "Ask AI", + subtext: "Continue writing with AI", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + }, + placeholders: { + ai: "Enter a prompt", + }, + ai_menu: { + custom_prompt: { + title: "Custom Prompt", + subtext: "Use your query as an AI prompt", + aliases: ["", "custom prompt"], + }, + make_longer: { + title: "Make Longer", + aliases: ["make longer"], + }, + } as any, // TODO + ai_block_toolbar: { + show_prompt: "Generated by AI", + show_prompt_datetime_tooltip: "Generated:", + update: "Update", + updating: "Updating…", + }, + ai_inline_toolbar: { + accept: "Accept", + retry: "Retry", + updating: "Updating…", + revert: "Revert", + }, +}; diff --git a/packages/xl-ai/src/i18n/locales/ja.ts b/packages/xl-ai/src/i18n/locales/ja.ts new file mode 100644 index 0000000000..f96fa0b346 --- /dev/null +++ b/packages/xl-ai/src/i18n/locales/ja.ts @@ -0,0 +1,50 @@ +import type { AIDictionary } from "../dictionary"; + +export const ja: AIDictionary = { + formatting_toolbar: { + ai: { + tooltip: "Generate content", + input_placeholder: "Enter a prompt", + }, + }, + slash_menu: { + ai_block: { + title: "AI Block", + subtext: "Block with AI generated content", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + ai: { + title: "Ask AI", + subtext: "Continue writing with AI", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + }, + placeholders: { + ai: "Enter a prompt", + }, + ai_menu: { + custom_prompt: { + title: "Custom Prompt", + subtext: "Use your query as an AI prompt", + aliases: ["", "custom prompt"], + }, + make_longer: { + title: "Make Longer", + aliases: ["make longer"], + }, + } as any, // TODO + ai_block_toolbar: { + show_prompt: "Generated by AI", + show_prompt_datetime_tooltip: "Generated:", + update: "Update", + updating: "Updating…", + }, + ai_inline_toolbar: { + accept: "Accept", + retry: "Retry", + updating: "Updating…", + revert: "Revert", + }, +}; diff --git a/packages/xl-ai/src/i18n/locales/ko.ts b/packages/xl-ai/src/i18n/locales/ko.ts new file mode 100644 index 0000000000..c7d61df2f4 --- /dev/null +++ b/packages/xl-ai/src/i18n/locales/ko.ts @@ -0,0 +1,50 @@ +import type { AIDictionary } from "../dictionary"; + +export const ko: AIDictionary = { + formatting_toolbar: { + ai: { + tooltip: "Generate content", + input_placeholder: "Enter a prompt", + }, + }, + slash_menu: { + ai_block: { + title: "AI Block", + subtext: "Block with AI generated content", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + ai: { + title: "Ask AI", + subtext: "Continue writing with AI", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + }, + placeholders: { + ai: "Enter a prompt", + }, + ai_menu: { + custom_prompt: { + title: "Custom Prompt", + subtext: "Use your query as an AI prompt", + aliases: ["", "custom prompt"], + }, + make_longer: { + title: "Make Longer", + aliases: ["make longer"], + }, + } as any, // TODO + ai_block_toolbar: { + show_prompt: "Generated by AI", + show_prompt_datetime_tooltip: "Generated:", + update: "Update", + updating: "Updating…", + }, + ai_inline_toolbar: { + accept: "Accept", + retry: "Retry", + updating: "Updating…", + revert: "Revert", + }, +}; diff --git a/packages/xl-ai/src/i18n/locales/nl.ts b/packages/xl-ai/src/i18n/locales/nl.ts new file mode 100644 index 0000000000..8284aa9e0d --- /dev/null +++ b/packages/xl-ai/src/i18n/locales/nl.ts @@ -0,0 +1,50 @@ +import type { AIDictionary } from "../dictionary"; + +export const nl: AIDictionary = { + formatting_toolbar: { + ai: { + tooltip: "Generate content", + input_placeholder: "Enter a prompt", + }, + }, + slash_menu: { + ai_block: { + title: "AI Block", + subtext: "Block with AI generated content", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + ai: { + title: "Ask AI", + subtext: "Continue writing with AI", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + }, + placeholders: { + ai: "Enter a prompt", + }, + ai_menu: { + custom_prompt: { + title: "Custom Prompt", + subtext: "Use your query as an AI prompt", + aliases: ["", "custom prompt"], + }, + make_longer: { + title: "Make Longer", + aliases: ["make longer"], + }, + } as any, // TODO + ai_block_toolbar: { + show_prompt: "Generated by AI", + show_prompt_datetime_tooltip: "Generated:", + update: "Update", + updating: "Updating…", + }, + ai_inline_toolbar: { + accept: "Accept", + retry: "Retry", + updating: "Updating…", + revert: "Revert", + }, +}; diff --git a/packages/xl-ai/src/i18n/locales/pl.ts b/packages/xl-ai/src/i18n/locales/pl.ts new file mode 100644 index 0000000000..adc3266b61 --- /dev/null +++ b/packages/xl-ai/src/i18n/locales/pl.ts @@ -0,0 +1,50 @@ +import type { AIDictionary } from "../dictionary"; + +export const pl: AIDictionary = { + formatting_toolbar: { + ai: { + tooltip: "Generate content", + input_placeholder: "Enter a prompt", + }, + }, + slash_menu: { + ai_block: { + title: "AI Block", + subtext: "Block with AI generated content", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + ai: { + title: "Ask AI", + subtext: "Continue writing with AI", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + }, + placeholders: { + ai: "Enter a prompt", + }, + ai_menu: { + custom_prompt: { + title: "Custom Prompt", + subtext: "Use your query as an AI prompt", + aliases: ["", "custom prompt"], + }, + make_longer: { + title: "Make Longer", + aliases: ["make longer"], + }, + } as any, // TODO + ai_block_toolbar: { + show_prompt: "Generated by AI", + show_prompt_datetime_tooltip: "Generated:", + update: "Update", + updating: "Updating…", + }, + ai_inline_toolbar: { + accept: "Accept", + retry: "Retry", + updating: "Updating…", + revert: "Revert", + }, +}; diff --git a/packages/xl-ai/src/i18n/locales/pt.ts b/packages/xl-ai/src/i18n/locales/pt.ts new file mode 100644 index 0000000000..6d3fbc8177 --- /dev/null +++ b/packages/xl-ai/src/i18n/locales/pt.ts @@ -0,0 +1,51 @@ +import type { AIDictionary } from "../dictionary"; + +export const pt: AIDictionary = { + formatting_toolbar: { + ai: { + tooltip: "Generate content", + input_placeholder: "Enter a prompt", + }, + }, + slash_menu: { + ai_block: { + title: "AI Block", + subtext: "Block with AI generated content", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + ai: { + title: "Ask AI", + subtext: "Continue writing with AI", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + }, + placeholders: { + ai: "Enter a prompt", + }, + ai_menu: { + custom_prompt: { + title: "Custom Prompt", + subtext: "Use your query as an AI prompt", + aliases: ["", "custom prompt"], + }, + make_longer: { + title: "Make Longer", + aliases: ["make longer"], + }, + } as any, // TODO + + ai_block_toolbar: { + show_prompt: "Generated by AI", + show_prompt_datetime_tooltip: "Generated:", + update: "Update", + updating: "Updating…", + }, + ai_inline_toolbar: { + accept: "Accept", + retry: "Retry", + updating: "Updating…", + revert: "Revert", + }, +}; diff --git a/packages/xl-ai/src/i18n/locales/ru.ts b/packages/xl-ai/src/i18n/locales/ru.ts new file mode 100644 index 0000000000..d2c9debcb8 --- /dev/null +++ b/packages/xl-ai/src/i18n/locales/ru.ts @@ -0,0 +1,50 @@ +import type { AIDictionary } from "../dictionary"; + +export const ru: AIDictionary = { + formatting_toolbar: { + ai: { + tooltip: "Generate content", + input_placeholder: "Enter a prompt", + }, + }, + slash_menu: { + ai_block: { + title: "AI Block", + subtext: "Block with AI generated content", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + ai: { + title: "Ask AI", + subtext: "Continue writing with AI", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + }, + placeholders: { + ai: "Enter a prompt", + }, + ai_menu: { + custom_prompt: { + title: "Custom Prompt", + subtext: "Use your query as an AI prompt", + aliases: ["", "custom prompt"], + }, + make_longer: { + title: "Make Longer", + aliases: ["make longer"], + }, + } as any, // TODO + ai_block_toolbar: { + show_prompt: "Generated by AI", + show_prompt_datetime_tooltip: "Generated:", + update: "Update", + updating: "Updating…", + }, + ai_inline_toolbar: { + accept: "Accept", + retry: "Retry", + updating: "Updating…", + revert: "Revert", + }, +}; diff --git a/packages/xl-ai/src/i18n/locales/vi.ts b/packages/xl-ai/src/i18n/locales/vi.ts new file mode 100644 index 0000000000..84b0307616 --- /dev/null +++ b/packages/xl-ai/src/i18n/locales/vi.ts @@ -0,0 +1,50 @@ +import type { AIDictionary } from "../dictionary"; + +export const vi: AIDictionary = { + formatting_toolbar: { + ai: { + tooltip: "Generate content", + input_placeholder: "Enter a prompt", + }, + }, + slash_menu: { + ai_block: { + title: "AI Block", + subtext: "Block with AI generated content", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + ai: { + title: "Ask AI", + subtext: "Continue writing with AI", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + }, + placeholders: { + ai: "Enter a prompt", + }, + ai_menu: { + custom_prompt: { + title: "Custom Prompt", + subtext: "Use your query as an AI prompt", + aliases: ["", "custom prompt"], + }, + make_longer: { + title: "Make Longer", + aliases: ["make longer"], + }, + } as any, // TODO + ai_block_toolbar: { + show_prompt: "Generated by AI", + show_prompt_datetime_tooltip: "Generated:", + update: "Update", + updating: "Updating…", + }, + ai_inline_toolbar: { + accept: "Accept", + retry: "Retry", + updating: "Updating…", + revert: "Revert", + }, +}; diff --git a/packages/xl-ai/src/i18n/locales/zh.ts b/packages/xl-ai/src/i18n/locales/zh.ts new file mode 100644 index 0000000000..a9bb77746f --- /dev/null +++ b/packages/xl-ai/src/i18n/locales/zh.ts @@ -0,0 +1,50 @@ +import type { AIDictionary } from "../dictionary"; + +export const zh: AIDictionary = { + formatting_toolbar: { + ai: { + tooltip: "Generate content", + input_placeholder: "Enter a prompt", + }, + }, + slash_menu: { + ai_block: { + title: "AI Block", + subtext: "Block with AI generated content", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + ai: { + title: "Ask AI", + subtext: "Continue writing with AI", + aliases: ["ai", "artificial intelligence", "generate"], + group: "AI", + }, + }, + placeholders: { + ai: "Enter a prompt", + }, + ai_menu: { + custom_prompt: { + title: "Custom Prompt", + subtext: "Use your query as an AI prompt", + aliases: ["", "custom prompt"], + }, + make_longer: { + title: "Make Longer", + aliases: ["make longer"], + }, + } as any, // TODO + ai_block_toolbar: { + show_prompt: "Generated by AI", + show_prompt_datetime_tooltip: "Generated:", + update: "Update", + updating: "Updating…", + }, + ai_inline_toolbar: { + accept: "Accept", + retry: "Retry", + updating: "Updating…", + revert: "Revert", + }, +}; diff --git a/packages/xl-ai/src/i18n/useAIDictionary.ts b/packages/xl-ai/src/i18n/useAIDictionary.ts new file mode 100644 index 0000000000..ed63fdcb01 --- /dev/null +++ b/packages/xl-ai/src/i18n/useAIDictionary.ts @@ -0,0 +1,8 @@ +import { useBlockNoteContext } from "@blocknote/react"; + +import { getAIDictionary } from "./dictionary.js"; + +export function useAIDictionary() { + const ctx = useBlockNoteContext(); + return getAIDictionary(ctx!.editor!); +} diff --git a/packages/xl-ai/src/index.ts b/packages/xl-ai/src/index.ts new file mode 100644 index 0000000000..d1fbd7f750 --- /dev/null +++ b/packages/xl-ai/src/index.ts @@ -0,0 +1,11 @@ +import "./style.css"; + +export * from "./AIExtension.js"; +export * from "./api/blocknoteAIClient/client.js"; +export * from "./components/BlockNoteAIUI.js"; +export * from "./components/FormattingToolbar/AIToolbarButton.js"; +export * from "./components/SuggestionMenu/getAISlashMenuItems.js"; + +export * from "./i18n/dictionary.js"; +export * as locales from "./i18n/locales/index.js"; + diff --git a/packages/xl-ai/src/json-diff/README.md b/packages/xl-ai/src/json-diff/README.md new file mode 100644 index 0000000000..ea30c09157 --- /dev/null +++ b/packages/xl-ai/src/json-diff/README.md @@ -0,0 +1 @@ +from https://github.com/andreyvit/json-diff diff --git a/packages/xl-ai/src/json-diff/json-diff.ts b/packages/xl-ai/src/json-diff/json-diff.ts new file mode 100644 index 0000000000..59882c5be1 --- /dev/null +++ b/packages/xl-ai/src/json-diff/json-diff.ts @@ -0,0 +1,347 @@ +import { SequenceMatcher } from "@ewoudenberg/difflib"; +import { extendedTypeOf, roundObj } from "./util.js"; + +class JsonDiff { + constructor(private readonly options: any) { + options.outputKeys = options.outputKeys || []; + options.excludeKeys = options.excludeKeys || []; + } + + isScalar(obj: any) { + return typeof obj !== "object" || obj === null; + } + + objectDiff(obj1: Record, obj2: Record) { + let result: Record | undefined = {}; + let score = 0; + let equal = true; + + for (const [key, value] of Object.entries(obj1)) { + if (!this.options.outputNewOnly) { + const postfix = "__deleted"; + + if (!(key in obj2) && !this.options.excludeKeys.includes(key)) { + result[`${key}${postfix}`] = value; + score -= 30; + equal = false; + } + } + } + + for (const [key, value] of Object.entries(obj2)) { + const postfix = !this.options.outputNewOnly ? "__added" : ""; + + if (!(key in obj1) && !this.options.excludeKeys.includes(key)) { + result[`${key}${postfix}`] = value; + score -= 30; + equal = false; + } + } + + for (const [key, value1] of Object.entries(obj1)) { + if (key in obj2) { + if (this.options.excludeKeys.includes(key)) { + continue; + } + score += 20; + const value2 = obj2[key]; + const change = this.diff(value1, value2); + if (!change.equal) { + result[key] = change.result; + equal = false; + } else if (this.options.full || this.options.outputKeys.includes(key)) { + result[key] = value1; + } + // console.log(`key ${key} change.score=${change.score} ${change.result}`) + score += Math.min(20, Math.max(-10, change.score / 5)); // BATMAN! + } + } + + if (equal) { + score = 100 * Math.max(Object.keys(obj1).length, 0.5); + if (!this.options.full) { + result = undefined; + } + } else { + score = Math.max(0, score); + } + + // console.log(`objectDiff(${JSON.stringify(obj1, null, 2)} <=> ${JSON.stringify(obj2, null, 2)}) == ${JSON.stringify({score, result, equal})}`) + return { score, result, equal }; + } + + findMatchingObject(item: any, index: number, fuzzyOriginals: any) { + // console.log('findMatchingObject: ' + JSON.stringify({item, fuzzyOriginals}, null, 2)) + let bestMatch: any = null; + + for (const [key, { item: candidate, index: matchIndex }] of Object.entries( + fuzzyOriginals + ) as any) { + if (key !== "__next") { + const indexDistance = Math.abs(matchIndex - index); + if (extendedTypeOf(item) === extendedTypeOf(candidate)) { + const { score } = this.diff(item, candidate); + if ( + !bestMatch || + score > bestMatch.score || + (score === bestMatch.score && + indexDistance < bestMatch.indexDistance) + ) { + bestMatch = { score, key, indexDistance }; + } + } + } + } + + // console.log('findMatchingObject result = ' + JSON.stringify(bestMatch, null, 2)); + return bestMatch; + } + + scalarize(array: any, originals: any, fuzzyOriginals?: any) { + // console.log('scalarize', array, originals, fuzzyOriginals); + const fuzzyMatches: any = []; + if (fuzzyOriginals) { + // Find best fuzzy match for each object in the array + const keyScores: any = {}; + for (let index = 0; index < array.length; index++) { + const item = array[index]; + if (this.isScalar(item)) { + continue; + } + const bestMatch = this.findMatchingObject(item, index, fuzzyOriginals); + if ( + bestMatch && + (!keyScores[bestMatch.key] || + bestMatch.score > keyScores[bestMatch.key].score) + ) { + keyScores[bestMatch.key] = { score: bestMatch.score, index }; + } + } + for (const [key, match] of Object.entries(keyScores)) { + fuzzyMatches[(match as any).index] = key; + } + } + + const result = []; + for (let index = 0; index < array.length; index++) { + const item = array[index]; + if (this.isScalar(item)) { + result.push(item); + } else { + const key = fuzzyMatches[index] || "__$!SCALAR" + originals.__next++; + originals[key] = { item, index }; + result.push(key); + } + } + // console.log('Scalarize result', result); + return result; + } + + isScalarized(item: any, originals: any) { + return typeof item === "string" && item in originals; + } + + descalarize(item: any, originals: any) { + if (this.isScalarized(item, originals)) { + return originals[item].item; + } else { + return item; + } + } + + arrayDiff(obj1: any, obj2: any) { + const originals1 = { __next: 1 }; + const seq1 = this.scalarize(obj1, originals1); + const originals2 = { __next: originals1.__next }; + const seq2 = this.scalarize(obj2, originals2, originals1); + + if (this.options.sort) { + seq1.sort(); + seq2.sort(); + } + const opcodes = new SequenceMatcher(null, seq1, seq2).getOpcodes(); + + // console.log(`arrayDiff:\nobj1 = ${JSON.stringify(obj1, null, 2)}\nobj2 = ${JSON.stringify(obj2, null, 2)}\nseq1 = ${JSON.stringify(seq1, null, 2)}\nseq2 = ${JSON.stringify(seq2, null, 2)}\nopcodes = ${JSON.stringify(opcodes, null, 2)}`) + + let result: any[] | undefined = []; + let score = 0; + let equal = true; + + for (const [op, i1, i2, j1, j2] of opcodes) { + let i, j; + let asc, end; + let asc1, end1; + let asc2, end2; + if (!(op === "equal" || (this.options.keysOnly && op === "replace"))) { + equal = false; + } + + switch (op) { + case "equal": + for ( + i = i1, end = i2, asc = i1 <= end; + asc ? i < end : i > end; + asc ? i++ : i-- + ) { + const item = seq1[i]; + if (this.isScalarized(item, originals1)) { + if (!this.isScalarized(item, originals2)) { + throw new Error( + `internal bug: isScalarized(item, originals1) != isScalarized(item, originals2) for item ${JSON.stringify( + item + )}` + ); + } + const item1 = this.descalarize(item, originals1); + const item2 = this.descalarize(item, originals2); + const change = this.diff(item1, item2); + if (!change.equal) { + result.push(["~", change.result]); + equal = false; + } else { + if (this.options.full || this.options.keepUnchangedValues) { + result.push([" ", item1]); + } else { + result.push([" "]); + } + } + } else { + if (this.options.full || this.options.keepUnchangedValues) { + result.push([" ", item]); + } else { + result.push([" "]); + } + } + score += 10; + } + break; + case "delete": + for ( + i = i1, end1 = i2, asc1 = i1 <= end1; + asc1 ? i < end1 : i > end1; + asc1 ? i++ : i-- + ) { + result.push(["-", this.descalarize(seq1[i], originals1)]); + score -= 5; + } + break; + case "insert": + for ( + j = j1, end2 = j2, asc2 = j1 <= end2; + asc2 ? j < end2 : j > end2; + asc2 ? j++ : j-- + ) { + result.push(["+", this.descalarize(seq2[j], originals2)]); + score -= 5; + } + break; + case "replace": + if (!this.options.keysOnly) { + let asc3, end3; + let asc4, end4; + for ( + i = i1, end3 = i2, asc3 = i1 <= end3; + asc3 ? i < end3 : i > end3; + asc3 ? i++ : i-- + ) { + result.push(["-", this.descalarize(seq1[i], originals1)]); + score -= 5; + } + for ( + j = j1, end4 = j2, asc4 = j1 <= end4; + asc4 ? j < end4 : j > end4; + asc4 ? j++ : j-- + ) { + result.push(["+", this.descalarize(seq2[j], originals2)]); + score -= 5; + } + } else { + let asc5, end5; + for ( + i = i1, end5 = i2, asc5 = i1 <= end5; + asc5 ? i < end5 : i > end5; + asc5 ? i++ : i-- + ) { + const change = this.diff( + this.descalarize(seq1[i], originals1), + this.descalarize(seq2[i - i1 + j1], originals2) + ); + if (!change.equal) { + result.push(["~", change.result]); + equal = false; + } else { + result.push([" "]); + } + } + } + break; + } + } + + if (equal || opcodes.length === 0) { + if (!this.options.full) { + result = undefined; + } else { + result = obj1; + } + score = 100; + } else { + score = Math.max(0, score); + } + + return { score, result, equal }; + } + + diff(obj1: any, obj2: any): any { + const type1 = extendedTypeOf(obj1); + const type2 = extendedTypeOf(obj2); + + if (type1 === type2) { + switch (type1) { + case "object": + return this.objectDiff(obj1, obj2); + + case "array": + return this.arrayDiff(obj1, obj2); + } + } + + // Compare primitives or complex objects of different types + let score = 100; + let result = obj1; + let equal; + if (!this.options.keysOnly) { + if (type1 === "date" && type2 === "date") { + equal = obj1.getTime() === obj2.getTime(); + } else { + equal = obj1 === obj2; + } + if (!equal) { + score = 0; + + if (this.options.outputNewOnly) { + result = obj2; + } else { + result = { __old: obj1, __new: obj2 }; + } + } else if (!this.options.full) { + result = undefined; + } + } else { + equal = true; + result = undefined; + } + + // console.log(`diff: equal ${equal} obj1 ${obj1} obj2 ${obj2} score ${score} ${result || ''}`) + + return { score, result, equal }; + } +} + +export function diff(obj1: any, obj2: any, options: any = {}) { + if (options.precision !== undefined) { + obj1 = roundObj(obj1, options.precision); + obj2 = roundObj(obj2, options.precision); + } + return new JsonDiff(options).diff(obj1, obj2).result; +} diff --git a/packages/xl-ai/src/json-diff/types.d.ts b/packages/xl-ai/src/json-diff/types.d.ts new file mode 100644 index 0000000000..df577052aa --- /dev/null +++ b/packages/xl-ai/src/json-diff/types.d.ts @@ -0,0 +1,3 @@ +declare module "@ewoudenberg/difflib" { + export const SequenceMatcher: any; +} diff --git a/packages/xl-ai/src/json-diff/util.ts b/packages/xl-ai/src/json-diff/util.ts new file mode 100644 index 0000000000..5132938793 --- /dev/null +++ b/packages/xl-ai/src/json-diff/util.ts @@ -0,0 +1,32 @@ +export const extendedTypeOf = function (obj: any) { + const result = typeof obj; + if (obj == null) { + return "null"; + } else if (result === "object" && obj.constructor === Array) { + return "array"; + } else if (result === "object" && obj instanceof Date) { + return "date"; + } else { + return result; + } +}; + +export const roundObj = function (data: any, precision: number): any { + const type = typeof data; + if (Array.isArray(data)) { + return data.map((x: any) => roundObj(x, precision)); + } else if (type === "object") { + for (const key in data) { + data[key] = roundObj(data[key], precision); + } + return data; + } else if ( + type === "number" && + Number.isFinite(data) && + !Number.isInteger(data) + ) { + return +data.toFixed(precision); + } else { + return data; + } +}; diff --git a/packages/xl-ai/src/markdown/__snapshots__/markdownDiff.test.ts.snap b/packages/xl-ai/src/markdown/__snapshots__/markdownDiff.test.ts.snap new file mode 100644 index 0000000000..b8ec48ca6e --- /dev/null +++ b/packages/xl-ai/src/markdown/__snapshots__/markdownDiff.test.ts.snap @@ -0,0 +1,126 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`markdown AI util > add sentence at end 1`] = ` +"UNCHANGED: # title + +UNCHANGED: hello + +ADD: world +" +`; + +exports[`markdown AI util > add sentence at middle 1`] = ` +"UNCHANGED: # title + +UNCHANGED: hello + +ADD: beautiful + +UNCHANGED: world +" +`; + +exports[`markdown AI util > add sentence at start 1`] = ` +"ADD: prefix + +UNCHANGED: # title + +UNCHANGED: hello + +UNCHANGED: world +" +`; + +exports[`markdown AI util > change: text at end 1`] = ` +"UNCHANGED: # title + +UNCHANGED: hello + +CHANGED: worlds +" +`; + +exports[`markdown AI util > change: text at middle 1`] = ` +"UNCHANGED: # title + +CHANGED: hello there, + +UNCHANGED: world +" +`; + +exports[`markdown AI util > change: text at start 1`] = ` +"CHANGED: # title + +UNCHANGED: hello + +UNCHANGED: world +" +`; + +exports[`markdown AI util > change: type at end 1`] = ` +"UNCHANGED: # title + +UNCHANGED: hello + +CHANGED: # world +" +`; + +exports[`markdown AI util > change: type at start 1`] = ` +"CHANGED: title + +UNCHANGED: hello + +CHANGED: wold +" +`; + +exports[`markdown AI util > mixed: change and insert 1`] = ` +"UNCHANGED: # title + +CHANGED: hello there + +ADD: beautiful + +CHANGED: wold +" +`; + +exports[`markdown AI util > mixed: insert and change 1`] = ` +"UNCHANGED: # title + +ADD: well, + +UNCHANGED: hello + +CHANGED: wold +" +`; + +exports[`markdown AI util > remove sentence at end 1`] = ` +"UNCHANGED: # title + +UNCHANGED: hello + +REMOVE: world +" +`; + +exports[`markdown AI util > remove sentence at middle 1`] = ` +"UNCHANGED: # title + +REMOVE: hello + +UNCHANGED: world +" +`; + +exports[`markdown AI util > remove sentence at start 1`] = ` +"REMOVE: # title + +UNCHANGED: hello + +UNCHANGED: world +" +`; diff --git a/packages/xl-ai/src/markdown/__snapshots__/markdownNodeDiff.test.ts.snap b/packages/xl-ai/src/markdown/__snapshots__/markdownNodeDiff.test.ts.snap new file mode 100644 index 0000000000..91901fcecd --- /dev/null +++ b/packages/xl-ai/src/markdown/__snapshots__/markdownNodeDiff.test.ts.snap @@ -0,0 +1,315 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`markdown AI util > 1 line -> large text 1`] = ` +"ADD: # Document Title + +ADD: Test + +CHANGED: This is the first sentence of the document. + +ADD: ## Introduction + +ADD: The introduction provides an overview of the document's purpose and structure. + +ADD: ## Main Content + +ADD: The main content section contains the bulk of the information. + +ADD: ### Subsection 1 + +ADD: Details about the first subsection are provided here. + +ADD: ### Subsection 2 + +ADD: Details about the second subsection are provided here. + +ADD: ## Conclusion + +ADD: The conclusion summarizes the key points discussed in the document. + +ADD: ## References + +ADD: A list of references and resources used in the document. +" +`; + +exports[`markdown AI util > 3 lines -> 1 line 1`] = ` +"CHANGED: mestis + +REMOVE: Test + +REMOVE: This +" +`; + +exports[`markdown AI util > 3 lines -> large text 1`] = ` +"CHANGED: # Document Title + +ADD: Test + +CHANGED: This is the first sentence of the document. + +ADD: ## Introduction + +ADD: The introduction provides an overview of the document's purpose and structure. + +ADD: ## Main Content + +ADD: The main content section contains the bulk of the information. + +ADD: ### Subsection 1 + +ADD: Details about the first subsection are provided here. + +CHANGED: ### Subsection 2 + +ADD: Details about the second subsection are provided here. + +ADD: ## Conclusion + +ADD: The conclusion summarizes the key points discussed in the document. + +ADD: ## References + +ADD: A list of references and resources used in the document. +" +`; + +exports[`markdown AI util > add sentence at end 1`] = ` +"UNCHANGED: # title + +UNCHANGED: hello + +ADD: world +" +`; + +exports[`markdown AI util > add sentence at middle 1`] = ` +"UNCHANGED: # title + +UNCHANGED: hello + +ADD: beautiful + +UNCHANGED: world +" +`; + +exports[`markdown AI util > add sentence at start 1`] = ` +"ADD: prefix + +UNCHANGED: # title + +UNCHANGED: hello + +UNCHANGED: world +" +`; + +exports[`markdown AI util > change: text at end 1`] = ` +"UNCHANGED: # title + +UNCHANGED: hello + +CHANGED: worlds +" +`; + +exports[`markdown AI util > change: text at middle 1`] = ` +"UNCHANGED: # title + +CHANGED: hello there, + +UNCHANGED: world +" +`; + +exports[`markdown AI util > change: text at start 1`] = ` +"CHANGED: # title + +UNCHANGED: hello + +UNCHANGED: world +" +`; + +exports[`markdown AI util > change: type at end 1`] = ` +"UNCHANGED: # title + +UNCHANGED: hello + +CHANGED: # world +" +`; + +exports[`markdown AI util > change: type at start 1`] = ` +"CHANGED: title + +UNCHANGED: hello + +CHANGED: wold +" +`; + +exports[`markdown AI util > collapse lines 1`] = ` +"CHANGED: # titleworldhello + +REMOVE: hello +" +`; + +exports[`markdown AI util > expand lines 1`] = ` +"CHANGED: # title + +ADD: hello +" +`; + +exports[`markdown AI util > large text -> 1 line 1`] = ` +"REMOVE: # Document Title + +REMOVE: Test + +CHANGED: hello + +REMOVE: ## Introduction + +REMOVE: The introduction provides an overview of the document's purpose and structure. + +REMOVE: ## Main Content + +REMOVE: The main content section contains the bulk of the information. + +REMOVE: ### Subsection 1 + +REMOVE: Details about the first subsection are provided here. + +REMOVE: ### Subsection 2 + +REMOVE: Details about the second subsection are provided here. + +REMOVE: ## Conclusion + +REMOVE: The conclusion summarizes the key points discussed in the document. + +REMOVE: ## References + +REMOVE: A list of references and resources used in the document. +" +`; + +exports[`markdown AI util > large text -> 3 lines 1`] = ` +"CHANGED: # title + +REMOVE: Test + +CHANGED: hello + +REMOVE: ## Introduction + +REMOVE: The introduction provides an overview of the document's purpose and structure. + +REMOVE: ## Main Content + +REMOVE: The main content section contains the bulk of the information. + +REMOVE: ### Subsection 1 + +REMOVE: Details about the first subsection are provided here. + +CHANGED: world + +REMOVE: Details about the second subsection are provided here. + +REMOVE: ## Conclusion + +REMOVE: The conclusion summarizes the key points discussed in the document. + +REMOVE: ## References + +REMOVE: A list of references and resources used in the document. +" +`; + +exports[`markdown AI util > lists: add list 1`] = ` +"UNCHANGED: # title + +ADD: * hello there + +ADD: * world +" +`; + +exports[`markdown AI util > lists: add list item 1`] = ` +"UNCHANGED: # title + +UNCHANGED: * hello + +ADD: * world +" +`; + +exports[`markdown AI util > lists: remove list 1`] = ` +"UNCHANGED: # title + +REMOVE: * hello there + +REMOVE: * world +" +`; + +exports[`markdown AI util > lists: remove list item 1`] = ` +"UNCHANGED: # title + +UNCHANGED: * hello + +REMOVE: * world +" +`; + +exports[`markdown AI util > lists: update list item 1`] = ` +"UNCHANGED: # title + +CHANGED: * hello there + +UNCHANGED: * world +" +`; + +exports[`markdown AI util > mixed: change and insert 1`] = ` +"UNCHANGED: # title + +CHANGED: hello there + +ADD: beautiful + +CHANGED: wold +" +`; + +exports[`markdown AI util > remove sentence at end 1`] = ` +"UNCHANGED: # title + +UNCHANGED: hello + +REMOVE: world +" +`; + +exports[`markdown AI util > remove sentence at middle 1`] = ` +"UNCHANGED: # title + +REMOVE: hello + +UNCHANGED: world +" +`; + +exports[`markdown AI util > remove sentence at start 1`] = ` +"REMOVE: # title + +UNCHANGED: hello + +UNCHANGED: world +" +`; diff --git a/packages/xl-ai/src/markdown/__snapshots__/markdownOperations.test.ts.snap b/packages/xl-ai/src/markdown/__snapshots__/markdownOperations.test.ts.snap new file mode 100644 index 0000000000..edab117201 --- /dev/null +++ b/packages/xl-ai/src/markdown/__snapshots__/markdownOperations.test.ts.snap @@ -0,0 +1,1021 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`markdownNodeDiffToBlockOperations > add sentence at start 1`] = ` +[ + { + "blocks": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "test", + "type": "text", + }, + ], + "id": "1", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "position": "before", + "referenceId": "0", + "type": "insert", + }, +] +`; + +exports[`markdownNodeDiffToBlockOperations > add word at end of sentence 1`] = ` +[ + { + "block": { + "content": [ + { + "styles": {}, + "text": "hello world", + "type": "text", + }, + ], + }, + "id": "0", + "type": "update", + }, +] +`; + +exports[`markdownNodeDiffToBlockOperations > change type 1`] = ` +[ + { + "block": { + "props": { + "level": 1, + }, + "type": "heading", + }, + "id": "0", + "type": "update", + }, +] +`; + +exports[`markdownNodeDiffToBlockOperations > complex change 1 1`] = ` +[ + { + "blocks": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "prefix", + "type": "text", + }, + ], + "id": "3", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "position": "before", + "referenceId": "0", + "type": "insert", + }, + { + "block": { + "content": [ + { + "styles": {}, + "text": "hello", + "type": "text", + }, + ], + "props": { + "level": 2, + }, + }, + "id": "0", + "type": "update", + }, + { + "ids": [ + "1", + ], + "type": "remove", + }, +] +`; + +exports[`markdownNodeDiffToBlockOperations > complex change 2 1`] = ` +[ + { + "blocks": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "prefix", + "type": "text", + }, + ], + "id": "3", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "position": "before", + "referenceId": "0", + "type": "insert", + }, + { + "block": { + "content": [ + { + "styles": {}, + "text": "## hello + +world", + "type": "text", + }, + ], + "props": { + "backgroundColor": undefined, + "language": "javascript", + "level": undefined, + "textAlignment": undefined, + "textColor": undefined, + }, + "type": "codeBlock", + }, + "id": "0", + "type": "update", + }, + { + "ids": [ + "1", + ], + "type": "remove", + }, + { + "ids": [ + "2", + ], + "type": "remove", + }, +] +`; + +exports[`markdownNodeDiffToBlockOperations > empty paragraph and table 1`] = ` +[ + { + "block": { + "content": [ + { + "styles": { + "bold": true, + }, + "text": "A Call to Action: Empowering Europe's Public Agents with an Open-Source Alternative to Notion", + "type": "text", + }, + ], + }, + "id": "0", + "type": "update", + }, + { + "blocks": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Dear President Ursula Von der Leyen,", + "type": "text", + }, + ], + "id": "5", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "position": "before", + "referenceId": "1", + "type": "insert", + }, + { + "block": { + "content": [ + { + "styles": {}, + "text": "As the European Union continues to strive for innovation and digital transformation, I strongly believe that creating an open-source alternative to Notion for public agents is a crucial step forward. This initiative would not only enhance the productivity and collaboration of our public servants but also ensure the sovereignty and security of our data.", + "type": "text", + }, + ], + }, + "id": "1", + "type": "update", + }, + { + "blocks": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "By developing an open-source platform, we can guarantee that our public agents' data remains within the EU's borders, protected by our stringent data protection laws. This would alleviate concerns about data privacy and security, allowing our agents to focus on their critical work without worrying about the risks associated with proprietary software.", + "type": "text", + }, + ], + "id": "8", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Moreover, an open-source platform would foster a culture of collaboration and transparency. Public agents from different member states could work together seamlessly, sharing knowledge and best practices to drive progress and innovation. This would be particularly beneficial in areas such as policy-making, research, and crisis management, where collaboration is essential.", + "type": "text", + }, + ], + "id": "9", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Furthermore, an open-source alternative to Notion would be a powerful symbol of the EU's commitment to digital sovereignty and its determination to shape the future of technology. By taking control of our digital tools, we can ensure that our values and principles are reflected in the software we use.", + "type": "text", + }, + ], + "id": "10", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "I urge you to consider the benefits of creating an open-source alternative to Notion for Europe's public agents. Together, we can empower our public servants, enhance collaboration, and drive innovation while protecting our data and promoting digital sovereignty.", + "type": "text", + }, + ], + "id": "11", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "position": "before", + "referenceId": "2", + "type": "insert", + }, + { + "block": { + "content": [ + { + "styles": {}, + "text": "Sincerely, [Your Name]", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "textAlignment": "left", + }, + "type": "paragraph", + }, + "id": "2", + "type": "update", + }, + { + "blocks": [ + { + "children": [], + "content": { + "columnWidths": [ + undefined, + undefined, + undefined, + ], + "headerCols": undefined, + "headerRows": 1, + "rows": [ + { + "cells": [ + { + "content": [], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + { + "cells": [ + { + "content": [], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Notion", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "Open source", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "Cost", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "30€/cs", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "1€/cs", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "People in-house", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "0", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "5 developers (100k€ a year)", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + { + "cells": [ + { + "content": [ + { + "styles": {}, + "text": "Number of civil servant (cs)", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "36 million", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + { + "content": [ + { + "styles": {}, + "text": "36 million", + "type": "text", + }, + ], + "props": { + "backgroundColor": "default", + "colspan": 1, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "tableCell", + }, + ], + }, + ], + "type": "tableContent", + }, + "id": "14", + "props": { + "textColor": "default", + }, + "type": "table", + }, + { + "children": [], + "content": [ + { + "styles": { + "bold": true, + }, + "text": "Summary of Costs and Benefits", + "type": "text", + }, + ], + "id": "15", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "The proposed open-source alternative to Notion would significantly reduce costs, from 30€ per civil servant to 1€ per civil servant, while also creating in-house jobs for 5 developers. This initiative would not only save the EU a substantial amount of money but also promote digital sovereignty and enhance collaboration among public agents.", + "type": "text", + }, + ], + "id": "16", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": { + "bold": true, + }, + "text": "Summary", + "type": "text", + }, + ], + "id": "17", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "In conclusion, creating an open-source alternative to Notion for Europe's public agents is a crucial step towards digital transformation, data sovereignty, and enhanced collaboration. With significant cost savings and the creation of in-house jobs, this initiative has the potential to drive innovation and progress in the EU while protecting our values and principles.", + "type": "text", + }, + ], + "id": "18", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "position": "after", + "referenceId": "2", + "type": "insert", + }, +] +`; + +exports[`markdownNodeDiffToBlockOperations > large change 1`] = ` +[ + { + "blocks": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Document Title", + "type": "text", + }, + ], + "id": "1", + "props": { + "backgroundColor": "default", + "level": 1, + "textAlignment": "left", + "textColor": "default", + }, + "type": "heading", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Test", + "type": "text", + }, + ], + "id": "2", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "position": "before", + "referenceId": "0", + "type": "insert", + }, + { + "block": { + "content": [ + { + "styles": {}, + "text": "This is the first sentence of the document.", + "type": "text", + }, + ], + }, + "id": "0", + "type": "update", + }, + { + "blocks": [ + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Introduction", + "type": "text", + }, + ], + "id": "5", + "props": { + "backgroundColor": "default", + "level": 2, + "textAlignment": "left", + "textColor": "default", + }, + "type": "heading", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "The introduction provides an overview of the document's purpose and structure.", + "type": "text", + }, + ], + "id": "6", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Main Content", + "type": "text", + }, + ], + "id": "7", + "props": { + "backgroundColor": "default", + "level": 2, + "textAlignment": "left", + "textColor": "default", + }, + "type": "heading", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "The main content section contains the bulk of the information.", + "type": "text", + }, + ], + "id": "8", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Subsection 1", + "type": "text", + }, + ], + "id": "9", + "props": { + "backgroundColor": "default", + "level": 3, + "textAlignment": "left", + "textColor": "default", + }, + "type": "heading", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Details about the first subsection are provided here.", + "type": "text", + }, + ], + "id": "10", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Subsection 2", + "type": "text", + }, + ], + "id": "11", + "props": { + "backgroundColor": "default", + "level": 3, + "textAlignment": "left", + "textColor": "default", + }, + "type": "heading", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Details about the second subsection are provided here.", + "type": "text", + }, + ], + "id": "12", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "Conclusion", + "type": "text", + }, + ], + "id": "13", + "props": { + "backgroundColor": "default", + "level": 2, + "textAlignment": "left", + "textColor": "default", + }, + "type": "heading", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "The conclusion summarizes the key points discussed in the document.", + "type": "text", + }, + ], + "id": "14", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "References", + "type": "text", + }, + ], + "id": "15", + "props": { + "backgroundColor": "default", + "level": 2, + "textAlignment": "left", + "textColor": "default", + }, + "type": "heading", + }, + { + "children": [], + "content": [ + { + "styles": {}, + "text": "A list of references and resources used in the document.", + "type": "text", + }, + ], + "id": "16", + "props": { + "backgroundColor": "default", + "textAlignment": "left", + "textColor": "default", + }, + "type": "paragraph", + }, + ], + "position": "after", + "referenceId": "0", + "type": "insert", + }, +] +`; + +exports[`markdownNodeDiffToBlockOperations > one empty paragraph 1`] = ` +[ + { + "block": { + "content": [ + { + "styles": {}, + "text": "hello world", + "type": "text", + }, + ], + }, + "id": "0", + "type": "update", + }, + { + "ids": [ + "1", + ], + "type": "remove", + }, + { + "ids": [ + "2", + ], + "type": "remove", + }, +] +`; + +exports[`markdownNodeDiffToBlockOperations > two empty paragraphs 1`] = ` +[ + { + "block": { + "content": [ + { + "styles": {}, + "text": "hello world", + "type": "text", + }, + ], + }, + "id": "0", + "type": "update", + }, + { + "ids": [ + "1", + ], + "type": "remove", + }, + { + "ids": [ + "2", + ], + "type": "remove", + }, + { + "ids": [ + "3", + ], + "type": "remove", + }, +] +`; diff --git a/packages/xl-ai/src/markdown/__snapshots__/markdownUpdate.test.ts.snap b/packages/xl-ai/src/markdown/__snapshots__/markdownUpdate.test.ts.snap new file mode 100644 index 0000000000..b3abb5917e --- /dev/null +++ b/packages/xl-ai/src/markdown/__snapshots__/markdownUpdate.test.ts.snap @@ -0,0 +1,32 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`markdownUpdateToBlockUpdate > change text 1`] = ` +{ + "content": [ + { + "styles": {}, + "text": "hello world", + "type": "text", + }, + ], +} +`; + +exports[`markdownUpdateToBlockUpdate > change type 1`] = ` +{ + "props": { + "level": 1, + }, + "type": "heading", +} +`; + +exports[`markdownUpdateToBlockUpdate > change unchecked to checked 1`] = ` +{ + "props": { + "checked": true, + }, +} +`; + +exports[`markdownUpdateToBlockUpdate > no change 1`] = `{}`; diff --git a/packages/xl-ai/src/markdown/markdownNodeDiff.test.ts b/packages/xl-ai/src/markdown/markdownNodeDiff.test.ts new file mode 100644 index 0000000000..0f671493c0 --- /dev/null +++ b/packages/xl-ai/src/markdown/markdownNodeDiff.test.ts @@ -0,0 +1,391 @@ +import { describe, expect, it } from "vitest"; +import { + MarkdownNodeDiffResult, + markdownNodeDiff, +} from "./markdownNodeDiff.js"; +import { markdownNodeToString } from "./util.js"; + +async function operationsToReadableString( + operations: MarkdownNodeDiffResult[] +) { + return operations + .map((op) => { + const md = markdownNodeToString( + op.type === "remove" ? op.oldBlock : op.newBlock + ); + return `${op.type.toUpperCase()}: ${md}`; + }) + .join("\n"); +} + +describe("markdown AI util", () => { + it("collapse lines", async () => { + const md1 = `# title + +hello`; + + const md2 = `# titleworldhello`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("expand lines", async () => { + const md1 = `# titleworldhello`; + + const md2 = `# title + +hello`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("add sentence at end", async () => { + const md1 = `# title + +hello`; + + const md2 = `# title + +hello + +world`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("remove sentence at end", async () => { + const md1 = `# title + +hello + +world`; + + const md2 = `# title + +hello`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("add sentence at start", async () => { + const md1 = `# title + +hello + +world`; + + const md2 = `prefix +# title + +hello + +world`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("remove sentence at start", async () => { + const md1 = `# title + +hello + +world`; + + const md2 = `hello + +world`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("add sentence at middle", async () => { + const md1 = `# title + +hello + +world`; + + const md2 = `# title + +hello + +beautiful + +world`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("remove sentence at middle", async () => { + const md1 = `# title + +hello + +world`; + + const md2 = `# title + +world`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("change: type at start", async () => { + const md1 = `# title + +hello + +world`; + + const md2 = `title + +hello + +wold`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("change: type at end", async () => { + const md1 = `# title + +hello + +world`; + + const md2 = `# title + +hello + +# world`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("change: text at end", async () => { + const md1 = `# title + +hello + +world`; + + const md2 = `# title + +hello + +worlds`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("change: text at start", async () => { + const md1 = `# new title + +hello + +world`; + + const md2 = `# title + +hello + +world`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("change: text at middle", async () => { + const md1 = `# title + +hello + +world`; + + const md2 = `# title + +hello there, + +world`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("mixed: change and insert", async () => { + const md1 = `# title + +hello + +world`; + + const md2 = `# title + +hello there + +beautiful + +wold`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("lists: remove list item", async () => { + const md1 = `# title + +- hello +- world`; + + const md2 = `# title + +- hello`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("lists: add list item", async () => { + const md1 = `# title + +- hello`; + + const md2 = `# title + +- hello +- world`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("lists: update list item", async () => { + const md1 = `# title + +- hello +- world`; + + const md2 = `# title + +- hello there +- world`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("lists: add list", async () => { + const md1 = `# title`; + + const md2 = `# title + +- hello there +- world`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("lists: remove list", async () => { + const md1 = `# title + +- hello there +- world`; + + const md2 = `# title`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("3 lines -> large text", async () => { + const md1 = `# title + +hello + +world`; + + const md2 = + "# Document Title\n\nTest\n\nThis is the first sentence of the document. \n\n## Introduction\n\nThe introduction provides an overview of the document's purpose and structure. \n\n## Main Content\n\nThe main content section contains the bulk of the information. \n\n### Subsection 1\n\nDetails about the first subsection are provided here. \n\n### Subsection 2\n\nDetails about the second subsection are provided here. \n\n## Conclusion\n\nThe conclusion summarizes the key points discussed in the document. \n\n## References\n\nA list of references and resources used in the document."; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("1 line -> large text", async () => { + const md1 = `hello`; + + const md2 = + "# Document Title\n\nTest\n\nThis is the first sentence of the document. \n\n## Introduction\n\nThe introduction provides an overview of the document's purpose and structure. \n\n## Main Content\n\nThe main content section contains the bulk of the information. \n\n### Subsection 1\n\nDetails about the first subsection are provided here. \n\n### Subsection 2\n\nDetails about the second subsection are provided here. \n\n## Conclusion\n\nThe conclusion summarizes the key points discussed in the document. \n\n## References\n\nA list of references and resources used in the document."; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("large text -> 3 lines", async () => { + const md1 = + "# Document Title\n\nTest\n\nThis is the first sentence of the document. \n\n## Introduction\n\nThe introduction provides an overview of the document's purpose and structure. \n\n## Main Content\n\nThe main content section contains the bulk of the information. \n\n### Subsection 1\n\nDetails about the first subsection are provided here. \n\n### Subsection 2\n\nDetails about the second subsection are provided here. \n\n## Conclusion\n\nThe conclusion summarizes the key points discussed in the document. \n\n## References\n\nA list of references and resources used in the document."; + + const md2 = `# title + +hello + +world`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("large text -> 1 line", async () => { + const md1 = + "# Document Title\n\nTest\n\nThis is the first sentence of the document. \n\n## Introduction\n\nThe introduction provides an overview of the document's purpose and structure. \n\n## Main Content\n\nThe main content section contains the bulk of the information. \n\n### Subsection 1\n\nDetails about the first subsection are provided here. \n\n### Subsection 2\n\nDetails about the second subsection are provided here. \n\n## Conclusion\n\nThe conclusion summarizes the key points discussed in the document. \n\n## References\n\nA list of references and resources used in the document."; + + const md2 = `hello`; + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); + + it("3 lines -> 1 line", async () => { + const md1 = "# Document Title\n\nTest\n\nThis"; + + const md2 = `mestis`; + + const operations = await markdownNodeDiff(md1, md2); + const diff = await operationsToReadableString(operations); + expect(diff).toMatchSnapshot(); + }); +}); diff --git a/packages/xl-ai/src/markdown/markdownNodeDiff.ts b/packages/xl-ai/src/markdown/markdownNodeDiff.ts new file mode 100644 index 0000000000..0a10eb487e --- /dev/null +++ b/packages/xl-ai/src/markdown/markdownNodeDiff.ts @@ -0,0 +1,408 @@ +import * as Diff from "diff"; +import type { Content } from "mdast"; +import remarkParse from "remark-parse"; +import { unified } from "unified"; + +export type MarkdownNodeDiffResult = + | { + type: "changed" | "unchanged"; + newBlock: Content; + oldBlock: Content; + } + | { + type: "add"; + newBlock: Content; + } + | { + type: "remove"; + oldBlock: Content; + }; + +function takeWhile(array: T[], predicate: (item: T) => boolean): T[] { + const index = array.findIndex((item) => !predicate(item)); + if (index === -1) { + return array.splice(0, array.length); + } + return array.splice(0, index); +} + +/** + * Flatten lists + * + * TODO: add support for nested lists + */ +export function flattenAst(ast: Content[]): Content[] { + const result: Content[] = []; + for (const node of ast) { + if (node.type === "list") { + result.push(...node.children); + } else { + result.push(node); + } + } + return result; +} + +function recursiveRegexpReplace( + str: string, + pattern: RegExp, + replacement: string +): string { + const result = str.replace(pattern, replacement); + if (result === str) { + return result; + } + return recursiveRegexpReplace(result, pattern, replacement); +} + +/** + * Takes two versions of a markdown document, and + * returns a list of `DiffResult` objects indicating + * whether a markdown node has been added, removed, changed, or unchanged + */ +export async function markdownNodeDiff( + oldMarkdown: string, + newMarkdown: string +): Promise { + // The asts will hold character positions in the original markdown + + // preprocess the markdown to replace multiple newlines with a single [EMPTY-LINE] + // otherwise remarkParse will collapse multiple newlines into a single one, + // and we lose information about empty blocks + oldMarkdown = recursiveRegexpReplace( + oldMarkdown, + /\n\n\n\n/g, + "\n\n[EMPTY-LINE]\n\n" + ); + newMarkdown = recursiveRegexpReplace( + newMarkdown, + /\n\n\n\n/g, + "\n\n[EMPTY-LINE]\n\n" + ); + const oldAst = unified().use(remarkParse).parse(oldMarkdown); + const newAst = unified().use(remarkParse).parse(newMarkdown); + + /* + e.g.: + [ + { + count: 7, + added: false, + removed: false, + value: "# title", + }, + { + count: 2, + added: false, + removed: true, + value: "\n\n", + }, + { + count: 5, + added: true, + removed: false, + value: "world", + }, + { + count: 5, + added: false, + removed: false, + value: "hello", + }, +] + */ + const charDiffs = Diff.diffChars(oldMarkdown, newMarkdown); + + const results: MarkdownNodeDiffResult[] = []; + + // Track current position in each version (old and new markdown) + let oldIndex = 0; + let newIndex = 0; + /* + e.g.: + + [ + { + type: "heading", + depth: 1, + children: [ + { + type: "text", + value: "title", + position: { + start: { + line: 1, + column: 3, + offset: 2, + }, + end: { + line: 1, + column: 8, + offset: 7, + }, + }, + }, + ], + position: { + start: { + line: 1, + column: 1, + offset: 0, + }, + end: { + line: 1, + column: 8, + offset: 7, + }, + }, + }, + { + type: "paragraph", + children: [ + { + type: "text", + value: "hello", + position: { + start: { + line: 3, + column: 1, + offset: 9, + }, + end: { + line: 3, + column: 6, + offset: 14, + }, + }, + }, + ], + position: { + start: { + line: 3, + column: 1, + offset: 9, + }, + end: { + line: 3, + column: 6, + offset: 14, + }, + }, + }, +] + */ + const oldBlocks = [...flattenAst(oldAst.children)]; + + /* + e.g.: +[ + { + type: "heading", + depth: 1, + children: [ + { + type: "text", + value: "titleworldhello", + position: { + start: { + line: 1, + column: 3, + offset: 2, + }, + end: { + line: 1, + column: 18, + offset: 17, + }, + }, + }, + ], + position: { + start: { + line: 1, + column: 1, + offset: 0, + }, + end: { + line: 1, + column: 18, + offset: 17, + }, + }, + }, +] + */ + const newBlocks = [...flattenAst(newAst.children)]; + + const diffsByBlock: Map = new Map(); + + // assign all diffs to blocks, this is used later + for (const diff of charDiffs) { + let endIndexOldMD = oldIndex; + let endIndexNewMD = newIndex; + if (diff.added) { + endIndexNewMD = newIndex + diff.value.length; + } else if (diff.removed) { + endIndexOldMD = oldIndex + diff.value.length; + } else { + endIndexOldMD = oldIndex + diff.value.length; + endIndexNewMD = newIndex + diff.value.length; + } + + if (!diff.added) { + for (const block of oldBlocks) { + // check if [oldIndex, endIndexOldMD) overlaps with [block.position!.start!.offset!, block.position!.end!.offset!) + if ( + block.position!.start!.offset! < endIndexOldMD && + block.position!.end!.offset! > oldIndex + ) { + diffsByBlock.set(block, [...(diffsByBlock.get(block) || []), diff]); + } else if (block.position!.start!.offset! > endIndexOldMD) { + // not interested in other blocks past the end of the diff + break; + } + } + } + + if (!diff.removed) { + for (const block of newBlocks) { + // check if [newIndex, endIndexNewMD) overlaps with [block.position!.start!.offset!, block.position!.end!.offset!) + if ( + block.position!.start!.offset! < endIndexNewMD && + block.position!.end!.offset! > newIndex + ) { + diffsByBlock.set(block, [...(diffsByBlock.get(block) || []), diff]); + } else if (block.position!.start!.offset! > endIndexNewMD) { + // not interested in other blocks past the end of the diff + break; + } + } + } + + oldIndex = endIndexOldMD; + newIndex = endIndexNewMD; + } + + // now, main algorithm to process diffs + for (const diff of charDiffs) { + if (diff.added) { + // if it's an add diff, check if it's an add that indicates one or more complete blocks have been added + + // we're not interested in other cases here, e.g. some text has been added to an existing block + // this will be handled by the "keep" diff below + const matchingNewBlocks = takeWhile( + newBlocks, + (block) => + diffsByBlock.get(block)!.some((d) => d === diff) && + diffsByBlock.get(block)!.length === 1 // the only diff on a block is this "add", so add the block + ); + for (const block of matchingNewBlocks) { + results.push({ type: "add", newBlock: block }); + } + continue; + } + + if (diff.removed) { + // if it's a remove diff, check if it's a remove that indicates one or more complete blocks have been removed + + // we're not interested in other cases here, e.g. some text has been removed from an existing block + // this will be handled by the "keep" diff below + const matchingOldBlocks = takeWhile( + oldBlocks, + (block) => + diffsByBlock.get(block)!.some((d) => d === diff) && + diffsByBlock.get(block)!.length === 1 // the only diff on a block is this "remove", so remove the block + ); + for (const block of matchingOldBlocks) { + results.push({ type: "remove", oldBlock: block }); + } + continue; + } + + // it's a "keep" diff (no add / remove) + // let's process all old / new blocks that have this diff + const matchingNewBlocks = takeWhile(newBlocks, (block) => + diffsByBlock.get(block)!.some((d) => d === diff) + ); + + const matchingOldBlocks = takeWhile(oldBlocks, (block) => + diffsByBlock.get(block)!.some((d) => diff === d) + ); + + while (matchingNewBlocks.length || matchingOldBlocks.length) { + const newBlock = matchingNewBlocks.shift(); + const oldBlock = matchingOldBlocks.shift(); + + if (!newBlock && !oldBlock) { + throw new Error("No matching blocks found"); + } + + if (!newBlock) { + /* + this can happen in the case we change 3 blocks into 1 block, e.g.: + + old: + # title + hello + world + + new: + # titleworld + + for the first iteration we'll dispatch a "changed" operation, + but then in the next iterations there will be old blocks (2) left + these are processed and removed here + */ + results.push({ type: "remove", oldBlock: oldBlock! }); + } else if (!oldBlock) { + /** + this can happen in the case we change 1 block into 3 blocks, e.g.: + + old: + hello + + new: + he + l + lo + */ + results.push({ type: "add", newBlock }); + } else { + if ( + diffsByBlock.get(oldBlock)!.every((d) => !d.added && !d.removed) && + diffsByBlock.get(newBlock)!.every((d) => !d.added && !d.removed) + ) { + results.push({ type: "unchanged", newBlock, oldBlock }); + } else { + results.push({ type: "changed", newBlock, oldBlock }); + } + } + } + } + + // remove [EMPTY-LINE] hacks we added at beginning of function + function removeFakeEmptyLines(node: any) { + if ( + node.oldBlock?.type === "paragraph" && + node.oldBlock.children.length === 1 && + node.oldBlock.children[0].type === "text" && + node.oldBlock.children[0].value === "[EMPTY-LINE]" + ) { + node.oldBlock.children[0].value = ""; + } + if ( + node.newBlock?.type === "paragraph" && + node.newBlock.children.length === 1 && + node.newBlock.children[0].type === "text" && + node.newBlock.children[0].value === "[EMPTY-LINE]" + ) { + node.newBlock.children[0].value = ""; + } + return node; + } + + for (const result of results) { + removeFakeEmptyLines(result); + } + return results; +} diff --git a/packages/xl-ai/src/markdown/markdownOperations.test.ts b/packages/xl-ai/src/markdown/markdownOperations.test.ts new file mode 100644 index 0000000000..3c50793fa4 --- /dev/null +++ b/packages/xl-ai/src/markdown/markdownOperations.test.ts @@ -0,0 +1,303 @@ +import { BlockNoteEditor } from "@blocknote/core"; +import { describe, expect, it } from "vitest"; +import { markdownNodeDiff } from "./markdownNodeDiff.js"; +import { markdownNodeDiffToBlockOperations } from "./markdownOperations.js"; + +describe("markdownNodeDiffToBlockOperations", () => { + it("add sentence at start", async () => { + const editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "paragraph", + content: "hello", + }, + ], + }); + + const diff = await markdownNodeDiff( + await editor.blocksToMarkdownLossy(), + "test\n\nhello" + ); + const update = await markdownNodeDiffToBlockOperations( + editor, + editor.document, + diff + ); + + expect(update).toMatchSnapshot(); + }); + + it("add word at end of sentence", async () => { + const editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "paragraph", + content: "hello", + }, + ], + }); + + const diff = await markdownNodeDiff( + await editor.blocksToMarkdownLossy(), + "hello world" + ); + const update = await markdownNodeDiffToBlockOperations( + editor, + editor.document, + diff + ); + + expect(update).toMatchSnapshot(); + }); + + it("change type", async () => { + const editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "paragraph", + content: "hello", + }, + ], + }); + + const diff = await markdownNodeDiff( + await editor.blocksToMarkdownLossy(), + "# hello" + ); + const update = await markdownNodeDiffToBlockOperations( + editor, + editor.document, + diff + ); + + expect(update).toMatchSnapshot(); + }); + + it("complex change 1", async () => { + const editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "heading", + content: "hello there", + }, + { + type: "paragraph", + content: "beautiful", + }, + { + type: "paragraph", + content: "world", + }, + ], + }); + + const diff = await markdownNodeDiff( + await editor.blocksToMarkdownLossy(), + `prefix + +## hello + +world` + ); + const update = await markdownNodeDiffToBlockOperations( + editor, + editor.document, + diff + ); + + expect(update).toMatchSnapshot(); + }); + + it("complex change 2", async () => { + const editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "heading", + content: "hello there", + }, + { + type: "paragraph", + content: "beautiful", + }, + { + type: "paragraph", + content: "world", + }, + ], + }); + + const diff = await markdownNodeDiff( + // note that the indentation will actually create a code block from the last two paragraphs + await editor.blocksToMarkdownLossy(), + `prefix + + ## hello + + world` + ); + const update = await markdownNodeDiffToBlockOperations( + editor, + editor.document, + diff + ); + + expect(update).toMatchSnapshot(); + }); + + it("large change", async () => { + const editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "paragraph", + content: "hello", + }, + ], + }); + + const diff = await markdownNodeDiff( + await editor.blocksToMarkdownLossy(), + "# Document Title\n\nTest\n\nThis is the first sentence of the document. \n\n## Introduction\n\nThe introduction provides an overview of the document's purpose and structure. \n\n## Main Content\n\nThe main content section contains the bulk of the information. \n\n### Subsection 1\n\nDetails about the first subsection are provided here. \n\n### Subsection 2\n\nDetails about the second subsection are provided here. \n\n## Conclusion\n\nThe conclusion summarizes the key points discussed in the document. \n\n## References\n\nA list of references and resources used in the document." + ); + const update = await markdownNodeDiffToBlockOperations( + editor, + editor.document, + diff + ); + + expect(update).toMatchSnapshot(); + }); + + // TODO: this still breaks + it.skip("fake list", async () => { + const editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "paragraph", + content: "hello\n- test\n- test2", + }, + ], + }); + + const diff = await markdownNodeDiff( + await editor.blocksToMarkdownLossy(), + "hello world" + ); + const update = await markdownNodeDiffToBlockOperations( + editor, + editor.document, + diff + ); + + expect(update).toMatchSnapshot(); + }); + + it("one empty paragraph", async () => { + const editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "paragraph", + content: "hello", + }, + { + type: "paragraph", + content: "", + }, + { + type: "paragraph", + content: "there", + }, + ], + }); + + const diff = await markdownNodeDiff( + await editor.blocksToMarkdownLossy(), + "hello world" + ); + const update = await markdownNodeDiffToBlockOperations( + editor, + editor.document, + diff + ); + + expect(update).toMatchSnapshot(); + }); + + it("two empty paragraphs", async () => { + const editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "paragraph", + content: "hello", + }, + { + type: "paragraph", + content: "", + }, + { + type: "paragraph", + content: "", + }, + { + type: "paragraph", + content: "there", + }, + ], + }); + + const diff = await markdownNodeDiff( + await editor.blocksToMarkdownLossy(), + "hello world" + ); + const update = await markdownNodeDiffToBlockOperations( + editor, + editor.document, + diff + ); + + expect(update).toMatchSnapshot(); + }); + + it("empty paragraph and table", async () => { + const editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "paragraph", + content: "hello", + }, + { + type: "paragraph", + content: "", + }, + { + type: "table", + content: { + type: "tableContent", + rows: [ + { + cells: ["test", "test2"], + }, + ], + }, + }, + ], + }); + + const diff = await markdownNodeDiff( + await editor.blocksToMarkdownLossy(), + "**A Call to Action: Empowering Europe's Public Agents with an Open-Source Alternative to Notion**\n\nDear President Ursula Von der Leyen,\n\nAs the European Union continues to strive for innovation and digital transformation, I strongly believe that creating an open-source alternative to Notion for public agents is a crucial step forward. This initiative would not only enhance the productivity and collaboration of our public servants but also ensure the sovereignty and security of our data.\n\nBy developing an open-source platform, we can guarantee that our public agents' data remains within the EU's borders, protected by our stringent data protection laws. This would alleviate concerns about data privacy and security, allowing our agents to focus on their critical work without worrying about the risks associated with proprietary software.\n\nMoreover, an open-source platform would foster a culture of collaboration and transparency. Public agents from different member states could work together seamlessly, sharing knowledge and best practices to drive progress and innovation. This would be particularly beneficial in areas such as policy-making, research, and crisis management, where collaboration is essential.\n\nFurthermore, an open-source alternative to Notion would be a powerful symbol of the EU's commitment to digital sovereignty and its determination to shape the future of technology. By taking control of our digital tools, we can ensure that our values and principles are reflected in the software we use.\n\nI urge you to consider the benefits of creating an open-source alternative to Notion for Europe's public agents. Together, we can empower our public servants, enhance collaboration, and drive innovation while protecting our data and promoting digital sovereignty.\n\nSincerely, [Your Name]\n\n| | | |\n| ---------------------------- | ---------- | --------------------------- |\n| | Notion | Open source |\n| Cost | 30€/cs | 1€/cs |\n| People in-house | 0 | 5 developers (100k€ a year) |\n| Number of civil servant (cs) | 36 million | 36 million |\n\n**Summary of Costs and Benefits**\n\nThe proposed open-source alternative to Notion would significantly reduce costs, from 30€ per civil servant to 1€ per civil servant, while also creating in-house jobs for 5 developers. This initiative would not only save the EU a substantial amount of money but also promote digital sovereignty and enhance collaboration among public agents.\n\n**Summary**\n\nIn conclusion, creating an open-source alternative to Notion for Europe's public agents is a crucial step towards digital transformation, data sovereignty, and enhanced collaboration. With significant cost savings and the creation of in-house jobs, this initiative has the potential to drive innovation and progress in the EU while protecting our values and principles." + ); + const update = await markdownNodeDiffToBlockOperations( + editor, + editor.document, + diff + ); + + expect(update).toMatchSnapshot(); + }); +}); + +// investigate streaming +// inline content etc +// add tests for nesting +// add tests for lists +// add tests for tables diff --git a/packages/xl-ai/src/markdown/markdownOperations.ts b/packages/xl-ai/src/markdown/markdownOperations.ts new file mode 100644 index 0000000000..1a566dcb5e --- /dev/null +++ b/packages/xl-ai/src/markdown/markdownOperations.ts @@ -0,0 +1,106 @@ +import { BlockNoteEditor } from "@blocknote/core"; + +import { Block } from "@blocknote/core"; + +import { Tools } from "../api/formats/json/tools/index.js"; +import { StreamToolCall } from "../api/streamTool/streamTool.js"; +import { MarkdownNodeDiffResult } from "./markdownNodeDiff.js"; +import { markdownUpdateToBlockUpdate } from "./markdownUpdate.js"; +import { markdownNodeToString } from "./util.js"; + +function flattenBlocks(blocks: Block[]): Block[] { + return blocks.flatMap((block) => { + return [block, ...flattenBlocks(block.children)]; + }); +} + +/** + * Takes a list of markdown node diffs and converts them into a list of block operations + * to perform on the blocks to get to the target markdown + */ +export async function markdownNodeDiffToBlockOperations( + editor: BlockNoteEditor, + blocks: Block[], + markdownNodeDiff: MarkdownNodeDiffResult[] +) { + const operations: StreamToolCall[] = []; + + blocks = flattenBlocks(blocks); + if ( + markdownNodeDiff.filter((diff) => diff.type !== "add").length !== + blocks.length + ) { + throw new Error( + "Number of nodes in markdown diff does not match number of blocks" + ); + } + + let lastBlockId: string | undefined; + let currentBlockIndex = 0; + + for (const diff of markdownNodeDiff) { + if (diff.type === "add") { + const newBlocks = await editor.tryParseMarkdownToBlocks( + markdownNodeToString(diff.newBlock) + ); + + if (newBlocks.length !== 1) { + throw new Error("Expected single block to be added"); + } + + const block = newBlocks[0]; + + const lastOperation = operations[operations.length - 1]; + + // new node has been added + if (lastOperation && lastOperation.type === "add") { + // add to previous "add operation" (add can be a list of blocks) + lastOperation.blocks.push(block); + } else { + const positionInfo = + currentBlockIndex < blocks.length + ? { + position: "before" as const, + referenceId: blocks[currentBlockIndex].id, + } + : { + position: "after" as const, + referenceId: lastBlockId!, + }; + + operations.push({ + type: "add", + ...positionInfo, + blocks: [block], + }); + } + } else if (diff.type === "remove") { + // remove block + operations.push({ + type: "delete", + id: blocks[currentBlockIndex].id, + }); + currentBlockIndex++; + } else if (diff.type === "unchanged") { + lastBlockId = blocks[currentBlockIndex].id; + currentBlockIndex++; + } else if (diff.type === "changed") { + // a block has been changed, get the update operation + lastBlockId = blocks[currentBlockIndex].id; + + const update = await markdownUpdateToBlockUpdate( + editor, + blocks[currentBlockIndex], + markdownNodeToString(diff.oldBlock), + markdownNodeToString(diff.newBlock) + ); + operations.push({ + type: "update", + id: blocks[currentBlockIndex].id, + block: update, + }); + currentBlockIndex++; + } + } + return operations; +} diff --git a/packages/xl-ai/src/markdown/markdownUpdate.test.ts b/packages/xl-ai/src/markdown/markdownUpdate.test.ts new file mode 100644 index 0000000000..d5e3ab0771 --- /dev/null +++ b/packages/xl-ai/src/markdown/markdownUpdate.test.ts @@ -0,0 +1,89 @@ +import { BlockNoteEditor } from "@blocknote/core"; +import { describe, expect, it } from "vitest"; +import { markdownUpdateToBlockUpdate } from "./markdownUpdate.js"; + +describe("markdownUpdateToBlockUpdate", () => { + it("change text", async () => { + const editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "paragraph", + content: "hello", + }, + ], + }); + + const block = editor.document[0]; + const update = await markdownUpdateToBlockUpdate( + editor, + block, + await editor.blocksToMarkdownLossy([block]), + "hello world" + ); + expect(update).toMatchSnapshot(); + }); + + it("change type", async () => { + const editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "paragraph", + content: "hello", + }, + ], + }); + + const block = editor.document[0]; + const update = await markdownUpdateToBlockUpdate( + editor, + block, + await editor.blocksToMarkdownLossy([block]), + "# hello" + ); + expect(update).toMatchSnapshot(); + }); + + it("change unchecked to checked", async () => { + const editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "checkListItem", + props: { checked: false }, + content: "hello", + }, + ], + }); + + const block = editor.document[0]; + const update = await markdownUpdateToBlockUpdate( + editor, + block, + await editor.blocksToMarkdownLossy([block]), + "- [x] hello" + ); + expect(update).toMatchSnapshot(); + }); + + it("no change", async () => { + const editor = BlockNoteEditor.create({ + initialContent: [ + { + type: "paragraph", + content: "hello", + props: { + textAlignment: "right", + }, + }, + ], + }); + + const block = editor.document[0]; + const update = await markdownUpdateToBlockUpdate( + editor, + block, + await editor.blocksToMarkdownLossy([block]), + "hello" + ); + expect(update).toMatchSnapshot(); + }); +}); diff --git a/packages/xl-ai/src/markdown/markdownUpdate.ts b/packages/xl-ai/src/markdown/markdownUpdate.ts new file mode 100644 index 0000000000..64b55167ba --- /dev/null +++ b/packages/xl-ai/src/markdown/markdownUpdate.ts @@ -0,0 +1,74 @@ +import { Block, BlockNoteEditor } from "@blocknote/core"; +import { diff as jsonDiff } from "../json-diff/json-diff.js"; + +/** + * Calculate an update operation to an existing block to apply the changes + * from `oldMarkdown` to `newMarkdown`. Because Markdown is a lossy format, + * we don't want to blindly replace the entire block. This would lose information like + * text alignment, block colors, etc. + * + * Instead, we detect the changes from oldMarkdown to newMarkdown and apply these to the + * existing block. + * + * Method used (pseudocode): + * - blockChanges = jsondiff(asBlock(oldMarkdown), asBlock(newMarkdown)) + * - return this information as an update operation + */ +export async function markdownUpdateToBlockUpdate( + editor: BlockNoteEditor, + _oldBlock: Block, + oldMarkdown: string, + newMarkdown: string +) { + if (oldMarkdown === newMarkdown) { + throw new Error("Markdown is unchanged"); + } + const oldMarkdownAsBlocks = await editor.tryParseMarkdownToBlocks( + oldMarkdown + ); + if (oldMarkdownAsBlocks.length !== 1) { + throw new Error("Old markdown is not a single block"); + } + const oldMarkdownAsBlock = oldMarkdownAsBlocks[0]; + + const newMarkdownAsBlocks = await editor.tryParseMarkdownToBlocks( + newMarkdown + ); + if (newMarkdownAsBlocks.length !== 1) { + throw new Error("New markdown is not a single block"); + } + const newMarkdownAsBlock = newMarkdownAsBlocks[0]; + + const diff = jsonDiff(oldMarkdownAsBlock, newMarkdownAsBlock); + + if (Array.isArray(diff) || typeof diff !== "object") { + throw new Error("json diff is not a single change"); + } + + const ret: Record = {}; + + if (diff.props) { + ret.props = {}; + for (const key in diff.props) { + if (key.endsWith("__added")) { + ret.props[key.replace("__added", "")] = diff.props[key]; + } else if (key.endsWith("__deleted")) { + ret.props[key.replace("__deleted", "")] = undefined; + } else { + ret.props[key] = diff.props[key].__new; + } + } + } + + if (diff.content) { + // Note: we overwrite the entire content with the new content. + // This means we'll currently lose inline styles / content not supported by markdown + ret.content = newMarkdownAsBlock.content; + } + + if (diff.type) { + ret.type = newMarkdownAsBlock.type; + } + + return ret; +} diff --git a/packages/xl-ai/src/markdown/util.ts b/packages/xl-ai/src/markdown/util.ts new file mode 100644 index 0000000000..5b7ab0915a --- /dev/null +++ b/packages/xl-ai/src/markdown/util.ts @@ -0,0 +1,7 @@ +import remarkStringify from "remark-stringify"; +import { unified } from "unified"; + +export function markdownNodeToString(node: any) { + const md = unified().use(remarkStringify).stringify(node); + return md; +} diff --git a/packages/xl-ai/src/prosemirror/__snapshots__/agent.test.ts.snap b/packages/xl-ai/src/prosemirror/__snapshots__/agent.test.ts.snap new file mode 100644 index 0000000000..68cbe609c5 --- /dev/null +++ b/packages/xl-ai/src/prosemirror/__snapshots__/agent.test.ts.snap @@ -0,0 +1,750 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`agentStepToTr > drop mark and link 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}},{"type":"deletion","attrs":{"id":null}}],"text":"Link."},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > drop mark and link and change text within mark 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"H"},{"type":"text","text":", world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hi"},{"type":"text","text":", world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hi"},{"type":"text","text":", world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hi"},{"type":"text","text":", world! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Bold"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Bold"},{"type":"text","marks":[{"type":"bold"}],"text":" text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hi"},{"type":"text","text":", world! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Bold"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Bold"},{"type":"text","marks":[{"type":"bold"}],"text":" text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hi"},{"type":"text","text":", world! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Bold"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Bold "},{"type":"text","marks":[{"type":"bold"}],"text":" text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hi"},{"type":"text","text":", world! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Bold"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Bold t"},{"type":"text","marks":[{"type":"bold"}],"text":" text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hi"},{"type":"text","text":", world! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Bold"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Bold th"},{"type":"text","marks":[{"type":"bold"}],"text":" text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hi"},{"type":"text","text":", world! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Bold"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Bold the"},{"type":"text","marks":[{"type":"bold"}],"text":" text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hi"},{"type":"text","text":", world! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Bold"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Bold the"},{"type":"text","marks":[{"type":"bold"}],"text":" text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hi"},{"type":"text","text":", world! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Bold"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Bold the"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":" text. "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":" text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hi"},{"type":"text","text":", world! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Bold"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Bold the"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":" text. "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":" text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hi"},{"type":"text","text":", world! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Bold"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Bold the"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":" text. "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":" text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}},{"type":"deletion","attrs":{"id":null}}],"text":"Link."},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > plain source block, add mention 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"world"},{"type":"mention","attrs":{"user":"Jane Doe"},"marks":[{"type":"insertion","attrs":{"id":null}}]},{"type":"text","text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > remove column 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 2"}]}],"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 2"}]}],"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 2"}]}],"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"}]}],"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 2"}]}],"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"}]}],"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 2"}]}],"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"}]}],"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 8"}]}],"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > remove last row 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Bold "},{"type":"text","marks":[{"type":"bold"}],"text":"5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Bold "},{"type":"text","marks":[{"type":"bold"}],"text":"5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"T"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Ta"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Tab"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Tabl"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Table"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Table "}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Table C"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Table Ce"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Table Cel"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Table Cell"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Table Cell "}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Table Cell 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Table Cell 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Table Cell 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > remove row 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 4"}]}],"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > standard update 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"world"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"W"},{"type":"text","text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"world"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"We"},{"type":"text","text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"world"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wel"},{"type":"text","text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"world"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Welt"},{"type":"text","text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > styles + ic in source block, remove mark 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > styles + ic in source block, remove mention 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":", "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > styles + ic in source block, replace content 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"u"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"up"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"upd"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"upda"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"updat"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"update"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"updated"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"updated "}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"updated c"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"updated co"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"updated con"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"updated cont"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"updated conte"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"updated conten"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"! How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"updated content"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > styles + ic in source block, update mention prop 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"},"marks":[{"type":"deletion","attrs":{"id":null}}]},{"type":"mention","attrs":{"user":"Jane Doe"},"marks":[{"type":"insertion","attrs":{"id":null}}]},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > styles + ic in source block, update text 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"W"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wi"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"g"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"ge"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geh"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht e"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es d"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es di"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir?"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ic"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich f"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich fü"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich füh"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich fühl"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich fühle"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich fühle "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich fühle m"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich fühle mi"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich fühle mic"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich fühle mich"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich fühle mich "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich fühle mich b"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich fühle mich bl"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich fühle mich bla"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"How "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wie "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"geht es dir? "},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"Ich fühle mich blau"},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > styles + ic in target block, add mark (paragraph) 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello, world!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > styles + ic in target block, add mark (word) 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"world!"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}},{"type":"bold"}],"text":"world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > translate selection 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world!"}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"H"},{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"e"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"a"},{"type":"text","text":"llo, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > update block prop 1`] = ` +[ + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"right"},"content":[{"type":"text","text":"Hello, world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"textAlignment","previousValue":"left","newValue":"right"}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > update block prop and content 1`] = ` +[ + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"right"},"content":[{"type":"text","text":"Hello, world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"textAlignment","previousValue":"left","newValue":"right"}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"right"},"content":[{"type":"text","text":"Hello, world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"textAlignment","previousValue":"left","newValue":"right"}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"right"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"W"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"textAlignment","previousValue":"left","newValue":"right"}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"right"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wh"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"textAlignment","previousValue":"left","newValue":"right"}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"right"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wha"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"textAlignment","previousValue":"left","newValue":"right"}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"right"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"What"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"textAlignment","previousValue":"left","newValue":"right"}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"right"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"What'"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"textAlignment","previousValue":"left","newValue":"right"}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"right"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"What's"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"textAlignment","previousValue":"left","newValue":"right"}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"right"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"What's "},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"textAlignment","previousValue":"left","newValue":"right"}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"right"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"What's u"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"textAlignment","previousValue":"left","newValue":"right"}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"right"},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"What's up"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"textAlignment","previousValue":"left","newValue":"right"}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > update block type 1`] = ` +[ + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"heading","attrs":{"textAlignment":"left","level":1},"content":[{"type":"text","text":"Hello, world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"nodeType","attrName":null,"previousValue":"paragraph","newValue":"heading"}},{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"level","previousValue":null,"newValue":1}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > update block type and content 1`] = ` +[ + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"heading","attrs":{"textAlignment":"left","level":1},"content":[{"type":"text","text":"Hello, world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"nodeType","attrName":null,"previousValue":"paragraph","newValue":"heading"}},{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"level","previousValue":null,"newValue":1}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"heading","attrs":{"textAlignment":"left","level":1},"content":[{"type":"text","text":"Hello, world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"nodeType","attrName":null,"previousValue":"paragraph","newValue":"heading"}},{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"level","previousValue":null,"newValue":1}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"heading","attrs":{"textAlignment":"left","level":1},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"W"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"nodeType","attrName":null,"previousValue":"paragraph","newValue":"heading"}},{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"level","previousValue":null,"newValue":1}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"heading","attrs":{"textAlignment":"left","level":1},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wh"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"nodeType","attrName":null,"previousValue":"paragraph","newValue":"heading"}},{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"level","previousValue":null,"newValue":1}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"heading","attrs":{"textAlignment":"left","level":1},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Wha"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"nodeType","attrName":null,"previousValue":"paragraph","newValue":"heading"}},{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"level","previousValue":null,"newValue":1}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"heading","attrs":{"textAlignment":"left","level":1},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"What"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"nodeType","attrName":null,"previousValue":"paragraph","newValue":"heading"}},{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"level","previousValue":null,"newValue":1}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"heading","attrs":{"textAlignment":"left","level":1},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"What'"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"nodeType","attrName":null,"previousValue":"paragraph","newValue":"heading"}},{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"level","previousValue":null,"newValue":1}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"heading","attrs":{"textAlignment":"left","level":1},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"What's"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"nodeType","attrName":null,"previousValue":"paragraph","newValue":"heading"}},{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"level","previousValue":null,"newValue":1}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"heading","attrs":{"textAlignment":"left","level":1},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"What's "},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"nodeType","attrName":null,"previousValue":"paragraph","newValue":"heading"}},{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"level","previousValue":null,"newValue":1}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"heading","attrs":{"textAlignment":"left","level":1},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"What's u"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"nodeType","attrName":null,"previousValue":"paragraph","newValue":"heading"}},{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"level","previousValue":null,"newValue":1}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"heading","attrs":{"textAlignment":"left","level":1},"content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Hello"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"What's up"},{"type":"text","text":", world!"}],"marks":[{"type":"modification","attrs":{"id":null,"type":"nodeType","attrName":null,"previousValue":"paragraph","newValue":"heading"}},{"type":"modification","attrs":{"id":null,"type":"attr","attrName":"level","previousValue":null,"newValue":1}}]}]},{"type":"blockContainer","attrs":{"id":"ref2","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, "},{"type":"mention","attrs":{"user":"John Doe"}},{"type":"text","text":"! How "},{"type":"text","marks":[{"type":"bold"}],"text":"are you doing? "},{"type":"text","marks":[{"type":"textColor","attrs":{"stringValue":"blue"}}],"text":"I'm feeling blue!"}]}]},{"type":"blockContainer","attrs":{"id":"ref3","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"},"content":[{"type":"text","text":"Hello, world! "},{"type":"text","marks":[{"type":"bold"}],"text":"Bold text. "},{"type":"text","marks":[{"type":"link","attrs":{"href":"https://www.google.com","target":"_blank","rel":"noopener noreferrer nofollow","class":null}}],"text":"Link."}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`agentStepToTr > update table cell 1`] = ` +[ + "S {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 1"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]}]}]}", + "R {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 1"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"H"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 1"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"He"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 1"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hel"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 1"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hell"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 1"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hello"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 1"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hello,"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 1"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hello, "}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 1"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hello, w"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 1"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hello, wo"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 1"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hello, wor"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 1"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hello, worl"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 1"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hello, world"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", + "I {"type":"doc","content":[{"type":"blockGroup","content":[{"type":"blockContainer","attrs":{"id":"ref1","textColor":"default","backgroundColor":"default"},"content":[{"type":"table","content":[{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"deletion","attrs":{"id":null}}],"text":"Table Cell 1"},{"type":"text","marks":[{"type":"insertion","attrs":{"id":null}}],"text":"Hello, world!"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 2"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 3"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 4"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","marks":[{"type":"bold"}],"text":"Table Cell Bold 5"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 6"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 7"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 8"}]}]},{"type":"tableCell","attrs":{"textColor":"default","backgroundColor":"default","textAlignment":"left","colspan":1,"rowspan":1,"colwidth":null},"content":[{"type":"tableParagraph","content":[{"type":"text","text":"Table Cell 9"}]}]}]}]}]},{"type":"blockContainer","attrs":{"id":"0","textColor":"default","backgroundColor":"default"},"content":[{"type":"paragraph","attrs":{"textAlignment":"left"}}]}]}]}", +] +`; + +exports[`getStepsAsAgent > multiple steps 1`] = ` +[ + { + "prosemirrorSteps": [], + "selection": { + "anchor": 3, + "head": 8, + }, + "type": "select", + }, + { + "prosemirrorSteps": [ + { + "from": 3, + "mark": { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + "stepType": "addMark", + "to": 8, + }, + { + "from": 8, + "slice": { + "content": [ + { + "text": "H", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 8, + }, + { + "from": 8, + "mark": { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + "stepType": "addMark", + "to": 9, + }, + ], + "selection": { + "anchor": 9, + "head": 9, + }, + "type": "replace", + }, + { + "prosemirrorSteps": [ + { + "from": 8, + "slice": { + "content": [ + { + "text": "Hi", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 9, + }, + { + "from": 8, + "mark": { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + "stepType": "addMark", + "to": 10, + }, + ], + "selection": { + "anchor": 10, + "head": 10, + }, + "type": "insert", + }, + { + "prosemirrorSteps": [], + "selection": { + "anchor": 12, + "head": 17, + }, + "type": "select", + }, + { + "prosemirrorSteps": [ + { + "from": 12, + "mark": { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + "stepType": "addMark", + "to": 17, + }, + { + "from": 17, + "slice": { + "content": [ + { + "text": "t", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 17, + }, + { + "from": 17, + "mark": { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + "stepType": "addMark", + "to": 18, + }, + ], + "selection": { + "anchor": 18, + "head": 18, + }, + "type": "replace", + }, + { + "prosemirrorSteps": [ + { + "from": 17, + "slice": { + "content": [ + { + "text": "th", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 18, + }, + { + "from": 17, + "mark": { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + "stepType": "addMark", + "to": 19, + }, + ], + "selection": { + "anchor": 19, + "head": 19, + }, + "type": "insert", + }, + { + "prosemirrorSteps": [ + { + "from": 17, + "slice": { + "content": [ + { + "text": "the", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 19, + }, + { + "from": 17, + "mark": { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + "stepType": "addMark", + "to": 20, + }, + ], + "selection": { + "anchor": 20, + "head": 20, + }, + "type": "insert", + }, + { + "prosemirrorSteps": [ + { + "from": 17, + "slice": { + "content": [ + { + "text": "ther", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 20, + }, + { + "from": 17, + "mark": { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + "stepType": "addMark", + "to": 21, + }, + ], + "selection": { + "anchor": 21, + "head": 21, + }, + "type": "insert", + }, + { + "prosemirrorSteps": [ + { + "from": 17, + "slice": { + "content": [ + { + "text": "there", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 21, + }, + { + "from": 17, + "mark": { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + "stepType": "addMark", + "to": 22, + }, + ], + "selection": { + "anchor": 22, + "head": 22, + }, + "type": "insert", + }, +] +`; + +exports[`getStepsAsAgent > node attr change 1`] = ` +[ + { + "prosemirrorSteps": [ + { + "from": 2, + "gapFrom": 3, + "gapTo": 16, + "insert": 1, + "slice": { + "content": [ + { + "attrs": { + "textAlignment": "right", + }, + "marks": [ + { + "attrs": { + "attrName": "textAlignment", + "id": null, + "newValue": "right", + "previousValue": "left", + "type": "attr", + }, + "type": "modification", + }, + ], + "type": "paragraph", + }, + ], + }, + "stepType": "replaceAround", + "structure": true, + "to": 17, + }, + ], + "selection": undefined, + "type": "replace", + }, +] +`; + +exports[`getStepsAsAgent > node type and content change 1`] = ` +[ + { + "prosemirrorSteps": [ + { + "from": 2, + "slice": { + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "text": "He", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "openEnd": 1, + }, + "stepType": "replace", + "to": 5, + }, + ], + "selection": undefined, + "type": "replace", + }, +] +`; + +exports[`getStepsAsAgent > node type change 1`] = ` +[ + { + "prosemirrorSteps": [ + { + "from": 2, + "gapFrom": 3, + "gapTo": 16, + "insert": 1, + "slice": { + "content": [ + { + "attrs": { + "level": 1, + "textAlignment": "left", + }, + "marks": [ + { + "attrs": { + "attrName": null, + "id": null, + "newValue": "heading", + "previousValue": "paragraph", + "type": "nodeType", + }, + "type": "modification", + }, + { + "attrs": { + "attrName": "level", + "id": null, + "newValue": 1, + "previousValue": null, + "type": "attr", + }, + "type": "modification", + }, + ], + "type": "heading", + }, + ], + }, + "stepType": "replaceAround", + "structure": true, + "to": 17, + }, + ], + "selection": undefined, + "type": "replace", + }, +] +`; + +exports[`getStepsAsAgent > simple replace step 1`] = ` +[ + { + "prosemirrorSteps": [], + "selection": { + "anchor": 3, + "head": 8, + }, + "type": "select", + }, + { + "prosemirrorSteps": [ + { + "from": 3, + "mark": { + "attrs": { + "id": null, + }, + "type": "deletion", + }, + "stepType": "addMark", + "to": 8, + }, + { + "from": 8, + "slice": { + "content": [ + { + "text": "H", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 8, + }, + { + "from": 8, + "mark": { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + "stepType": "addMark", + "to": 9, + }, + ], + "selection": { + "anchor": 9, + "head": 9, + }, + "type": "replace", + }, + { + "prosemirrorSteps": [ + { + "from": 8, + "slice": { + "content": [ + { + "text": "Hi", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 9, + }, + { + "from": 8, + "mark": { + "attrs": { + "id": null, + }, + "type": "insertion", + }, + "stepType": "addMark", + "to": 10, + }, + ], + "selection": { + "anchor": 10, + "head": 10, + }, + "type": "insert", + }, +] +`; diff --git a/packages/xl-ai/src/prosemirror/__snapshots__/changeset.test.ts.snap b/packages/xl-ai/src/prosemirror/__snapshots__/changeset.test.ts.snap new file mode 100644 index 0000000000..c95a6343ca --- /dev/null +++ b/packages/xl-ai/src/prosemirror/__snapshots__/changeset.test.ts.snap @@ -0,0 +1,1257 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`drop mark and link 1`] = ` +[ + { + "replaced": { + "content": [ + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Bold text. ", + "type": "text", + }, + ], + }, + "step": { + "from": 84, + "slice": { + "content": [ + { + "text": "Bold text. ", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 95, + }, + }, + { + "replaced": { + "content": [ + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + }, + "step": { + "from": 95, + "slice": { + "content": [ + { + "text": "Link.", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 100, + }, + }, +] +`; + +exports[`drop mark and link and change text within mark 1`] = ` +[ + { + "replaced": { + "content": [ + { + "text": "Hello", + "type": "text", + }, + ], + }, + "step": { + "from": 70, + "slice": { + "content": [ + { + "text": "Hi", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 75, + }, + }, + { + "replaced": { + "content": [ + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Bold", + "type": "text", + }, + ], + }, + "step": { + "from": 84, + "slice": { + "content": [ + { + "text": "Bold", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 88, + }, + }, + { + "replaced": null, + "step": { + "from": 88, + "slice": { + "content": [ + { + "text": " the", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 88, + }, + }, + { + "replaced": { + "content": [ + { + "marks": [ + { + "type": "bold", + }, + ], + "text": " text. ", + "type": "text", + }, + ], + }, + "step": { + "from": 88, + "slice": { + "content": [ + { + "text": " text. ", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 95, + }, + }, + { + "replaced": { + "content": [ + { + "marks": [ + { + "attrs": { + "class": null, + "href": "https://www.google.com", + "rel": "noopener noreferrer nofollow", + "target": "_blank", + }, + "type": "link", + }, + ], + "text": "Link.", + "type": "text", + }, + ], + }, + "step": { + "from": 95, + "slice": { + "content": [ + { + "text": "Link.", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 100, + }, + }, +] +`; + +exports[`plain source block, add mention 1`] = ` +[ + { + "replaced": { + "content": [ + { + "text": "world", + "type": "text", + }, + ], + }, + "step": { + "from": 10, + "slice": { + "content": [ + { + "attrs": { + "user": "Jane Doe", + }, + "type": "mention", + }, + ], + }, + "stepType": "replace", + "to": 15, + }, + }, +] +`; + +exports[`remove column 1`] = ` +[ + { + "replaced": { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 2", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + }, + "step": { + "from": 20, + "stepType": "replace", + "to": 36, + }, + }, + { + "replaced": { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Table Cell Bold 5", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + }, + "step": { + "from": 70, + "stepType": "replace", + "to": 91, + }, + }, + { + "replaced": { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 8", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + }, + "step": { + "from": 125, + "stepType": "replace", + "to": 141, + }, + }, +] +`; + +exports[`remove last column 1`] = ` +[ + { + "replaced": { + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 3", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + ], + "openStart": 1, + }, + "step": { + "from": 36, + "slice": { + "content": [ + { + "type": "tableRow", + }, + ], + "openStart": 1, + }, + "stepType": "replace", + "to": 53, + }, + }, + { + "replaced": { + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 6", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + ], + "openStart": 1, + }, + "step": { + "from": 91, + "slice": { + "content": [ + { + "type": "tableRow", + }, + ], + "openStart": 1, + }, + "stepType": "replace", + "to": 108, + }, + }, + { + "replaced": { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 9", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + }, + "step": { + "from": 141, + "stepType": "replace", + "to": 157, + }, + }, +] +`; + +exports[`remove last row 1`] = ` +[ + { + "replaced": { + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 7", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 8", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 9", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + ], + }, + "step": { + "from": 108, + "stepType": "replace", + "to": 158, + }, + }, +] +`; + +exports[`remove row 1`] = ` +[ + { + "replaced": { + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 4", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Table Cell Bold 5", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + { + "attrs": { + "backgroundColor": "default", + "colspan": 1, + "colwidth": null, + "rowspan": 1, + "textAlignment": "left", + "textColor": "default", + }, + "content": [ + { + "content": [ + { + "text": "Table Cell 6", + "type": "text", + }, + ], + "type": "tableParagraph", + }, + ], + "type": "tableCell", + }, + ], + "type": "tableRow", + }, + { + "type": "tableRow", + }, + ], + "openEnd": 1, + "openStart": 1, + }, + "step": { + "from": 54, + "stepType": "replace", + "to": 109, + }, + }, +] +`; + +exports[`standard update 1`] = ` +[ + { + "replaced": { + "content": [ + { + "text": "e", + "type": "text", + }, + ], + }, + "step": { + "from": 4, + "slice": { + "content": [ + { + "text": "a", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 5, + }, + }, + { + "replaced": { + "content": [ + { + "text": "world", + "type": "text", + }, + ], + }, + "step": { + "from": 10, + "slice": { + "content": [ + { + "text": "Welt", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 15, + }, + }, +] +`; + +exports[`styles + ic in source block, remove mark 1`] = ` +[ + { + "replaced": { + "content": [ + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + ], + }, + "step": { + "from": 34, + "slice": { + "content": [ + { + "text": "are you doing? ", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 49, + }, + }, +] +`; + +exports[`styles + ic in source block, remove mention 1`] = ` +[ + { + "replaced": { + "content": [ + { + "text": ", ", + "type": "text", + }, + { + "attrs": { + "user": "John Doe", + }, + "type": "mention", + }, + ], + }, + "step": { + "from": 25, + "stepType": "replace", + "to": 28, + }, + }, +] +`; + +exports[`styles + ic in source block, replace content 1`] = ` +[ + { + "replaced": { + "content": [ + { + "attrs": { + "user": "John Doe", + }, + "type": "mention", + }, + { + "text": "! How ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue!", + "type": "text", + }, + ], + }, + "step": { + "from": 27, + "slice": { + "content": [ + { + "text": "updated content", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 66, + }, + }, +] +`; + +exports[`styles + ic in source block, update mention prop 1`] = ` +[ + { + "replaced": { + "content": [ + { + "attrs": { + "user": "John Doe", + }, + "type": "mention", + }, + ], + }, + "step": { + "from": 27, + "slice": { + "content": [ + { + "attrs": { + "user": "Jane Doe", + }, + "type": "mention", + }, + ], + }, + "stepType": "replace", + "to": 28, + }, + }, +] +`; + +exports[`styles + ic in source block, update text 1`] = ` +[ + { + "replaced": { + "content": [ + { + "text": "e", + "type": "text", + }, + ], + }, + "step": { + "from": 21, + "slice": { + "content": [ + { + "text": "a", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 22, + }, + }, + { + "replaced": { + "content": [ + { + "text": "How ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "are you doing? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "I'm feeling blue", + "type": "text", + }, + ], + }, + "step": { + "from": 30, + "slice": { + "content": [ + { + "text": "Wie ", + "type": "text", + }, + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "geht es dir? ", + "type": "text", + }, + { + "marks": [ + { + "attrs": { + "stringValue": "blue", + }, + "type": "textColor", + }, + ], + "text": "Ich fühle mich blau", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 65, + }, + }, +] +`; + +exports[`styles + ic in target block, add mark (paragraph) 1`] = ` +[ + { + "replaced": { + "content": [ + { + "text": "Hello, world!", + "type": "text", + }, + ], + }, + "step": { + "from": 3, + "slice": { + "content": [ + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "Hello, world!", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 16, + }, + }, +] +`; + +exports[`styles + ic in target block, add mark (word) 1`] = ` +[ + { + "replaced": { + "content": [ + { + "text": "world!", + "type": "text", + }, + ], + }, + "step": { + "from": 10, + "slice": { + "content": [ + { + "marks": [ + { + "type": "bold", + }, + ], + "text": "world!", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 16, + }, + }, +] +`; + +exports[`translate selection 1`] = ` +[ + { + "replaced": { + "content": [ + { + "text": "e", + "type": "text", + }, + ], + }, + "step": { + "from": 21, + "slice": { + "content": [ + { + "text": "a", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 22, + }, + }, +] +`; + +exports[`update block prop 1`] = ` +[ + { + "replaced": { + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "type": "paragraph", + }, + ], + "openEnd": 1, + }, + "step": { + "from": 2, + "slice": { + "content": [ + { + "attrs": { + "textAlignment": "right", + }, + "type": "paragraph", + }, + ], + "openEnd": 1, + }, + "stepType": "replace", + "structure": true, + "to": 3, + }, + }, +] +`; + +exports[`update block prop and content 1`] = ` +[ + { + "replaced": { + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "type": "paragraph", + }, + ], + "openEnd": 1, + }, + "step": { + "from": 2, + "slice": { + "content": [ + { + "attrs": { + "textAlignment": "right", + }, + "type": "paragraph", + }, + ], + "openEnd": 1, + }, + "stepType": "replace", + "structure": true, + "to": 3, + }, + }, + { + "replaced": { + "content": [ + { + "text": "Hello", + "type": "text", + }, + ], + }, + "step": { + "from": 3, + "slice": { + "content": [ + { + "text": "What's up", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 8, + }, + }, +] +`; + +exports[`update block type 1`] = ` +[ + { + "replaced": { + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "type": "paragraph", + }, + ], + "openEnd": 1, + }, + "step": { + "from": 2, + "slice": { + "content": [ + { + "attrs": { + "level": 1, + "textAlignment": "left", + }, + "type": "heading", + }, + ], + "openEnd": 1, + }, + "stepType": "replace", + "structure": true, + "to": 3, + }, + }, +] +`; + +exports[`update block type and content 1`] = ` +[ + { + "replaced": { + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "type": "paragraph", + }, + ], + "openEnd": 1, + }, + "step": { + "from": 2, + "slice": { + "content": [ + { + "attrs": { + "level": 1, + "textAlignment": "left", + }, + "type": "heading", + }, + ], + "openEnd": 1, + }, + "stepType": "replace", + "structure": true, + "to": 3, + }, + }, + { + "replaced": { + "content": [ + { + "text": "Hello", + "type": "text", + }, + ], + }, + "step": { + "from": 3, + "slice": { + "content": [ + { + "text": "What's up", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 8, + }, + }, +] +`; + +exports[`update table cell 1`] = ` +[ + { + "replaced": { + "content": [ + { + "text": "Table Cell 1", + "type": "text", + }, + ], + }, + "step": { + "from": 6, + "slice": { + "content": [ + { + "text": "Hello, world!", + "type": "text", + }, + ], + }, + "stepType": "replace", + "to": 18, + }, + }, +] +`; diff --git a/packages/xl-ai/src/prosemirror/__snapshots__/rebaseTool.test.ts.snap b/packages/xl-ai/src/prosemirror/__snapshots__/rebaseTool.test.ts.snap new file mode 100644 index 0000000000..a3f35e3ab3 --- /dev/null +++ b/packages/xl-ai/src/prosemirror/__snapshots__/rebaseTool.test.ts.snap @@ -0,0 +1,142 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`should be able to apply changes to a clean doc (use invertMap) 1`] = ` +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "marks": [ + { + "type": "deletion", + }, + ], + "text": "Hello", + "type": "text", + }, + { + "text": "What's up, world!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} +`; + +exports[`should be able to apply changes to a clean doc (use rebaseTr) 1`] = ` +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "marks": [ + { + "type": "deletion", + }, + ], + "text": "Hello", + "type": "text", + }, + { + "text": "What's up, world!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} +`; + +exports[`should create some example suggestions 1`] = ` +{ + "content": [ + { + "content": [ + { + "attrs": { + "backgroundColor": "default", + "id": "1", + "textColor": "default", + }, + "content": [ + { + "attrs": { + "textAlignment": "left", + }, + "content": [ + { + "marks": [ + { + "type": "deletion", + }, + ], + "text": "Hello", + "type": "text", + }, + { + "marks": [ + { + "type": "insertion", + }, + ], + "text": "Hi", + "type": "text", + }, + { + "text": ", world!", + "type": "text", + }, + ], + "type": "paragraph", + }, + ], + "type": "blockContainer", + }, + ], + "type": "blockGroup", + }, + ], + "type": "doc", +} +`; diff --git a/packages/xl-ai/src/prosemirror/agent.test.ts b/packages/xl-ai/src/prosemirror/agent.test.ts new file mode 100644 index 0000000000..49856f0d9f --- /dev/null +++ b/packages/xl-ai/src/prosemirror/agent.test.ts @@ -0,0 +1,244 @@ +import { + BlockNoteEditor, + getBlockInfo, + getNodeById +} from "@blocknote/core"; +import { Fragment, Slice } from "prosemirror-model"; +import { ReplaceStep } from "prosemirror-transform"; +import { describe, expect, it } from "vitest"; +import { TestUpdateOperation, testUpdateOperations } from "../testUtil/updates/updateOperations.js"; +import { agentStepToTr, getStepsAsAgent } from "./agent.js"; +import { updateToReplaceSteps } from "./changeset.js"; + +describe("getStepsAsAgent", () => { + // some basic tests to check `getStepsAsAgent` is working as expected + + // Helper function to create a test editor with a simple paragraph + function createTestEditor() { + return BlockNoteEditor.create({ + initialContent: [ + { + id: "1", + type: "paragraph", + content: "Hello, world!", + }, + ], + }); + } + + it("simple replace step", async () => { + const editor = createTestEditor(); + const doc = editor.prosemirrorState.doc; + // Get the position of the content in the paragraph + const blockPos = getNodeById("1", doc)!; + const block = getBlockInfo(blockPos); + if (!block.isBlockContainer) { + throw new Error("Block is not a container"); + } + + const contentStart = block.blockContent.beforePos; + + // Create a ReplaceStep that replaces "Hello" with "Hi" + const from = contentStart + 1; // +1 to skip the initial position + const to = contentStart + 6; // "Hello" is 5 characters + + // Create a slice using the editor's schema + const fragment = Fragment.from(editor.pmSchema.text("Hi")); + + // const slice = fragment.slice(0, fragment.content.size); + + const step = new ReplaceStep(from, to, new Slice(fragment, 0, 0)); + + // Apply the step + const steps = getStepsAsAgent(doc, editor.pmSchema, [step]); + + // Verify dispatch was called with the correct transactions + expect(steps).toHaveLength(3); // select, replace, insert + + expect(steps).toMatchSnapshot(); + }); + + it("node type change", async () => { + const editor = createTestEditor(); + const doc = editor.prosemirrorState.doc; + // Get the position of the content in the paragraph + const blockPos = getNodeById("1", doc)!; + const block = getBlockInfo(blockPos); + if (!block.isBlockContainer) { + throw new Error("Block is not a container"); + } + + const tr = editor.prosemirrorState.tr.setNodeMarkup( + block.blockContent.beforePos, + editor.pmSchema.nodes.heading + ); + + expect(tr.steps.length).toBe(1); + + // Apply the step + const steps = getStepsAsAgent(doc, editor.pmSchema, tr.steps); + + // Verify dispatch was called with the correct transactions + expect(steps).toHaveLength(1); // select, replace, insert + + expect(steps).toMatchSnapshot(); + }); + + it("node attr change", async () => { + const editor = createTestEditor(); + const doc = editor.prosemirrorState.doc; + // Get the position of the content in the paragraph + const blockPos = getNodeById("1", doc)!; + const block = getBlockInfo(blockPos); + if (!block.isBlockContainer) { + throw new Error("Block is not a container"); + } + + const tr = editor.prosemirrorState.tr.setNodeMarkup( + block.blockContent.beforePos, + undefined, + { + textAlignment: "right", + } + ); + + expect(tr.steps.length).toBe(1); + + // Apply the step + const steps = getStepsAsAgent(doc, editor.pmSchema, tr.steps); + + // Verify dispatch was called with the correct transactions + expect(steps).toHaveLength(1); // select, replace, insert + + expect(steps).toMatchSnapshot(); + }); + + it("node type and content change", async () => { + const editor = createTestEditor(); + + const doc = editor.prosemirrorState.doc; + // Get the position of the content in the paragraph + const blockPos = getNodeById("1", doc)!; + const block = getBlockInfo(blockPos); + if (!block.isBlockContainer) { + throw new Error("Block is not a container"); + } + + const step = new ReplaceStep( + block.blockContent.beforePos, + block.blockContent.beforePos + 3, + // for simplicity, we're not actually changing the node type and content, but we just use the existing document + // as replacement content + doc.slice( + block.blockContent.beforePos, + block.blockContent.beforePos + 3 + ) + ); + + await expect(() => getStepsAsAgent(doc, editor.pmSchema, [step])).toThrow( + "Slice has openStart or openEnd > 0, but structure=false" + ); + }); + + it("multiple steps", async () => { + const editor = createTestEditor(); + const doc = editor.prosemirrorState.doc; + + // Get the position of the content in the paragraph + const blockPos = getNodeById("1", doc)!; + const block = getBlockInfo(blockPos); + if (!block.isBlockContainer) { + throw new Error("Block is not a container"); + } + + const contentStart = block.blockContent.beforePos; + + // Create two ReplaceSteps + // 1. Replace "Hello" with "Hi" + const fragment1 = Fragment.from(editor.pmSchema.text("Hi")); + const step1 = new ReplaceStep( + contentStart + 1, + contentStart + 6, + new Slice(fragment1, 0, 0) + ); + + // 2. Replace "world" with "there" + const fragment2 = Fragment.from(editor.pmSchema.text("there")); + const step2 = new ReplaceStep( + contentStart + 8, + contentStart + 13, + new Slice(fragment2, 0, 0) + ); + + // Apply the steps + const steps = getStepsAsAgent(doc, editor.pmSchema, [step1, step2]); + + // Verify dispatch was called for each step + // For each step: select, replace, and potentially multiple inserts + expect(steps).toHaveLength(9); + + expect(steps).toMatchSnapshot(); + }); + + it("throw error for non-ReplaceSteps", async () => { + const editor = createTestEditor(); + const doc = editor.prosemirrorState.doc; + // Create a non-ReplaceStep (we'll just mock it) + const nonReplaceStep = { from: 0, to: 5 } as any; + + // Expect the function to throw an error + await expect(() => getStepsAsAgent(doc, editor.pmSchema, [nonReplaceStep])).toThrow( + "Step is not a ReplaceStep" + ); + }); +}); + +describe("agentStepToTr", () => { + // larger test to see if applying the steps work as expected + + async function testUpdate( + editor: BlockNoteEditor, + test: TestUpdateOperation + ) { + const blockId = test.updateOp.id; + const update = test.updateOp.block; + + const selection = test.getTestSelection?.(editor); + const doc = editor.prosemirrorState.doc; + const steps = updateToReplaceSteps( + { + id: blockId, + type: "update", + block: update, + }, + doc, + undefined, + selection?.from, + selection?.to + ); + + const agentSteps = getStepsAsAgent(doc, editor.pmSchema, steps); + + const results = []; + for (const step of agentSteps) { + editor.transact((tr) => { + agentStepToTr(tr, step); + }); + results.push( + step.type.slice(0, 1).toUpperCase() + + " " + + JSON.stringify(editor.prosemirrorState.doc.toJSON()) + ); + } + + expect(results).toMatchSnapshot(); + } + + for (const test of testUpdateOperations) { + it(`${test.description}`, async () => { + const editor = test.editor(); + editor._tiptapEditor.forceEnablePlugins(); + await testUpdate(editor, test); + }); + } +}); diff --git a/packages/xl-ai/src/prosemirror/agent.ts b/packages/xl-ai/src/prosemirror/agent.ts new file mode 100644 index 0000000000..97415cc22b --- /dev/null +++ b/packages/xl-ai/src/prosemirror/agent.ts @@ -0,0 +1,314 @@ +import { UnreachableCaseError } from "@blocknote/core"; +import { Fragment, Node, Schema, Slice } from "prosemirror-model"; +import { AllSelection, TextSelection, Transaction } from "prosemirror-state"; +import { + ReplaceAroundStep, + ReplaceStep, + Step, + Transform, +} from "prosemirror-transform"; + +export type AgentStep = { + prosemirrorSteps: Step[]; + selection: + | { + anchor: number; + head: number; + } + | undefined; + type: "select" | "replace" | "insert"; +}; + +/** + * Takes an array of ReplaceSteps and applies them as a human-like agent. + * Every step is split into 3 phases: + * - select the text to be replaced (1 transaction per ReplaceStep) + * - replace the text with the first character of the replacement (if any) (1 transaction per ReplaceStep) + * - insert the replacement character by character (strlen-1 transactions per ReplaceStep) + */ +export function getStepsAsAgent(doc: Node, pmSchema: Schema, steps: Step[]) { + const { modification } = pmSchema.marks; + + const agentSteps: AgentStep[] = []; + + const tr = new Transform(doc); + + for (const step of steps) { + if ((step as any).structure) { + // Note: for structure changes (e.g.: node type or attr changes) we currently + // don't trigger any selection + + if (step instanceof ReplaceStep) { + if ( + step.to !== step.from + 1 || + step.slice.openStart !== 0 || + step.slice.openEnd !== 1 || + step.slice.content.size !== 2 + ) { + throw new Error( + "Structure change is not in expected format (ReplaceStep)" + ); + } + } else if (step instanceof ReplaceAroundStep) { + // we only support ReplaceAroundSteps generated by SetNodeMarkup + if ( + step.insert !== 1 || + step.slice.size !== 2 || + step.gapTo !== step.to - 1 || + step.gapFrom !== step.from + 1 + ) { + throw new Error( + "Structure change is not in expected format (ReplaceAroundStep)" + ); + } + } else { + throw new Error("Step is not a ReplaceStep or ReplaceAroundStep"); + } + const newNode = step.slice.content.firstChild!; + const oldNode = tr.doc.resolve(tr.mapping.map(step.from)).nodeAfter!; + + let marks = newNode.marks || []; + + if (newNode.type !== oldNode.type) { + marks = modification + .create({ + type: "nodeType", + previousValue: oldNode.type.name, + newValue: newNode.type.name, + }) + .addToSet(marks); + } + + const attrNames = new Set([ + ...Object.keys(newNode.attrs), + ...Object.keys(oldNode.attrs), + ]); + for (const attr of attrNames) { + if (newNode.attrs[attr] !== oldNode.attrs[attr]) { + marks = modification + .create({ + type: "attr", + attrName: attr, + previousValue: oldNode.attrs[attr], + newValue: newNode.attrs[attr], + }) + .addToSet(marks); + } + } + + const stepIndex = tr.steps.length; + tr.setNodeMarkup( + tr.mapping.map(step.from), + newNode.type, + newNode.attrs, + marks + ); + + agentSteps.push({ + prosemirrorSteps: tr.steps.slice(stepIndex), + selection: undefined, + type: "replace", + }); + + continue; + } + + if (!(step instanceof ReplaceStep)) { + throw new Error("Step is not a ReplaceStep"); + } + + if (step.slice.openStart > 0 || step.slice.openEnd > 0) { + // these kind of changes should not be generated by changeset.ts + throw new Error( + "Slice has openStart or openEnd > 0, but structure=false" + ); + } + + // 1. Select text to be removed/replaced + agentSteps.push({ + prosemirrorSteps: [], + selection: { + anchor: tr.mapping.map(step.from), + head: tr.mapping.map(step.to), + }, + type: "select", + }); + + // Replace the content + const sliceTextContent = step.slice.content.textBetween(0, step.slice.size); + + const alreadyHasSameText = + sliceTextContent === + tr.doc.textBetween(tr.mapping.map(step.from), tr.mapping.map(step.to)); + + let sliceTo: number; + + if (alreadyHasSameText) { + sliceTo = step.slice.content.size; // replace all at once, it's probably a mark update + } else if (sliceTextContent.length === 0) { + sliceTo = step.slice.content.size; // there's no replacement text, so use entire slice as replacement + } else { + // replace with the first character (similar to how a user would do it when selecting text and starting to type) + const firstCharIndex = getFirstChar(step.slice.content); + if (firstCharIndex === undefined) { + // should have been caught by previous if statement + throw new Error("unexpected: no first character found"); + } + sliceTo = firstCharIndex + 1; + } + + let replaceEnd = tr.mapping.map(step.to); + const replaceFrom = tr.mapping.map(step.to); + let first = true; + + // Note that below, we don't actually delete content, but we mark it as deleted + // with a deletion mark. Similarly, we mark inserted content with an insertion mark. + // It might be cleaner to; + // a) make this optional + // b) actually delete / insert the content and let prosemirror-suggest-changes handle the marks + for (let i = sliceTo; i <= step.slice.content.size; i++) { + const stepIndex = tr.steps.length; + if (first && step.from !== step.to) { + // in the first agent step (first character replacement) we mark existing content (if any) as deleted + // (step.from !== step.to is used to check for replacements vs inserts) + const $pos = tr.doc.resolve(tr.mapping.map(step.from)); + if ($pos.nodeAfter?.isBlock) { + // mark the entire node as deleted. This can be needed for inline nodes or table cells + tr.addNodeMark($pos.pos, pmSchema.mark("deletion", {})); + } + tr.addMark($pos.pos, replaceEnd, pmSchema.mark("deletion", {})); + // tr.delete(tr.mapping.map(step.from), replaceEnd); + // replaceFrom = tr.mapping.map(step.to); + replaceEnd = tr.mapping.map(step.to); + } + + // note, instead of inserting one charachter at a time at the end (a, b, c) + // we're replacing the entire part every time (a, ab, abc) + // would be cleaner to do just insertions, but didn't get this to work with the add operation + // (and this kept code relatively simple) + const replacement = new Slice(step.slice.content.cut(0, i), 0, 0); + + tr.replace(replaceFrom, replaceEnd, replacement).addMark( + replaceFrom, + replaceFrom + replacement.content.size, + pmSchema.mark("insertion", {}) + ); + replaceEnd = tr.mapping.slice(stepIndex).map(replaceEnd); + + // tr.replace(replaceFrom, replaceEnd, replacement); + // replaceEnd = replaceFrom + replacement.content.size; + + const sel = TextSelection.near( + tr.doc.resolve(replaceFrom + replacement.content.size), + -1 + ); + + agentSteps.push({ + prosemirrorSteps: tr.steps.slice(stepIndex), + selection: { + anchor: sel.from, + head: sel.from, + }, + type: first + ? "replace" // 2. Replace the text with the first character (if any) of the replacement + : "insert", // 3. Insert the replacement character by character + }); + first = false; + } + } + + return agentSteps; +} + +/** + * helper method to get the index of the first character of a fragment + */ +function getFirstChar(fragment: Fragment) { + let index = 0; + for (const content of fragment.content) { + if (content.isText) { + return index; + } + const sel = TextSelection.atStart(content); + if (sel instanceof AllSelection) { + // no text position found + index += content.nodeSize; + continue; + } + index += sel.head; + if (!content.isLeaf) { + // for regular nodes, add 1 position for the node opening + // (annoyingly TextSelection.atStart doesn't account for this) + index += 1; + } + return index; + } + return undefined; +} + +export async function delayAgentStep(step: AgentStep) { + if (step.type === "select") { + await new Promise((resolve) => setTimeout(resolve, 100)); + } else if (step.type === "insert") { + await new Promise((resolve) => setTimeout(resolve, 10)); + } else if (step.type === "replace") { + await new Promise((resolve) => setTimeout(resolve, 200)); + } else { + throw new UnreachableCaseError(step.type); + } +} + +export function agentStepToTr( + tr: Transaction, + step: AgentStep, + // mapping: Mapping // TODO +) { + // const mapping = new Mapping(); + tr.setMeta("addToHistory", false); + + if (step.selection) { + tr.setMeta("aiAgent", { + // TODO: map? + selection: { + anchor: step.selection.anchor, + head: step.selection.head, + }, + }); + } + for (const pmStep of step.prosemirrorSteps) { + // const mapped = pmStep.map(mapping); + // if (!mapped) { + // debugger; + // const x = pmStep.map(mapping); + // throw new Error("failed to apply step"); + // } + const result = tr.maybeStep(pmStep); + if (result.failed) { + // this would fail for tables, but has since been fixed using filterTransaction (in AIExtension) + // we now throw an error here, but maybe safer as warning when shipping (TODO) + + throw new Error("failed to apply step"); + // console.warn("failed to apply step", pmStep); + } + } + + // function fakeDispatch(suggestTr: Transaction) { + // tr = suggestTr; + // } + + // enableSuggestChanges(editor.prosemirrorState, editor.dispatch); + // if (!isSuggestChangesEnabled(editor.prosemirrorState)) { + // throw new Error( + // "suggest changes could not be enabled, is the AI / suggestion plugin enabled?" + // ); + // } + // withSuggestChanges(fakeDispatch).bind({ + // get state() { + // return editor.prosemirrorState; + // }, + // })(tr); + // disableSuggestChanges(editor.prosemirrorState, editor.dispatch); + + // TODO: errors thrown here are not shown in UI / console + return tr; +} diff --git a/packages/xl-ai/src/prosemirror/changeset.test.ts b/packages/xl-ai/src/prosemirror/changeset.test.ts new file mode 100644 index 0000000000..4448d765af --- /dev/null +++ b/packages/xl-ai/src/prosemirror/changeset.test.ts @@ -0,0 +1,124 @@ +import { + BlockNoteEditor, + prosemirrorSliceToSlicedBlocks, +} from "@blocknote/core"; +import { partialBlockToBlockForTesting } from "@shared/formatConversionTestUtil.js"; +import { describe, expect, it } from "vitest"; +import { + getTestEditor, + TestUpdateOperation, + testUpdateOperations, +} from "../testUtil/updates/updateOperations.js"; +import { updateToReplaceSteps } from "./changeset.js"; + +function testUpdate( + editor: BlockNoteEditor, + test: TestUpdateOperation +) { + const update = test.updateOp.block; + const blockId = test.updateOp.id; + + const selection = test.getTestSelection?.(editor); + const steps = updateToReplaceSteps( + { + id: blockId, + type: "update", + block: update, + }, + editor.prosemirrorState.doc, + undefined, + selection?.from, + selection?.to + ); + + const formatted = steps.map((step) => ({ + replaced: editor.prosemirrorState.doc.slice(step.from, step.to).toJSON(), + step: step, + })); + expect(formatted).toMatchSnapshot(); + + editor.transact((tr) => { + for (const step of steps) { + const mapped = step.map(tr.mapping); + if (!mapped) { + throw new Error("Failed to map step"); + } + tr.step(mapped); + } + }); + + let block = editor.getBlock(blockId)!; + + if (selection) { + const selectionInfo = prosemirrorSliceToSlicedBlocks( + editor.prosemirrorState.doc.slice(selection.from, selection.to, true), + editor.pmSchema + ); + block = selectionInfo.blocks[0]; + } + + if (update.type) { + // eslint-disable-next-line + expect(block.type).toEqual(update.type); + } + if (update.props) { + // eslint-disable-next-line + expect(block.props).toMatchObject(update.props); + } + if (update.content) { + const partialBlock = { + type: block.type, + ...update, + }; + // eslint-disable-next-line + expect(block.content).toEqual( + partialBlockToBlockForTesting(editor.schema.blockSchema, partialBlock) + .content + ); + } +} + +for (const test of testUpdateOperations) { + it(`${test.description}`, async () => { + testUpdate(test.editor(), test); + }); +} + +describe("dontReplaceContentAtEnd=true", () => { + it("keeps content at end of block", async () => { + const editor = getTestEditor(); + const steps = updateToReplaceSteps( + { + id: "ref1", + type: "update", + block: { + content: [{ type: "text", text: "Hello" }], + }, + }, + editor.prosemirrorState.doc, + true + ); + + expect(steps).toEqual([]); + }); + + it("keeps content at end of block (mark update)", async () => { + const editor = getTestEditor(); + const steps = updateToReplaceSteps( + { + id: "ref1", + type: "update", + block: { + content: [ + { type: "text", text: "Hello, " }, + { type: "text", text: "wo", styles: { bold: true } }, + ], + }, + }, + editor.prosemirrorState.doc, + true + ); + + expect(steps).toEqual([]); + }); +}); diff --git a/packages/xl-ai/src/prosemirror/changeset.ts b/packages/xl-ai/src/prosemirror/changeset.ts new file mode 100644 index 0000000000..b44bd9e797 --- /dev/null +++ b/packages/xl-ai/src/prosemirror/changeset.ts @@ -0,0 +1,363 @@ +import { + getNodeById, + PartialBlock, + updateBlockTr +} from "@blocknote/core"; +import { + Change, + ChangeSet, + simplifyChanges, + TokenEncoder, +} from "prosemirror-changeset"; +import { Node } from "prosemirror-model"; +import { ReplaceStep, Transform } from "prosemirror-transform"; +import { UpdateBlockToolCall } from "../api/tools/createUpdateBlockTool.js"; + +type CustomChange = Change & { + type?: "mark-update" | "node-type-or-attr-update"; +}; + +/** + * Adds missing changes to the changes array. + * This is needed because prosemirror-changeset may miss some changes, + * such as marks or node attributes. + * + * NOTE: we might be able to replace this code with a custom encoder + * (this didn't exist yet when this was written) + * + * @param changes The changes we have so far + * @param originalDoc The original document, applying the changes should result in the expectedDoc + * @param expectedDoc The expected document after applying the changes + * @returns + */ +function addMissingChanges( + changes: CustomChange[], + originalDoc: Node, + expectedDoc: Node +) { + const tr = new Transform(originalDoc); + // first, apply all changes we already have to the originalTr + + for (const change of changes) { + const step = new ReplaceStep( + tr.mapping.map(change.fromA), + tr.mapping.map(change.toA), + expectedDoc.slice(change.fromB, change.toB) + ); + + tr.step(step); + } + + const invertMap = tr.mapping.invert(); + + // now, see if the doc created by applying all changes is equal to the expected doc + let diffStart = tr.doc.content.findDiffStart(expectedDoc.content); + + // if the docs are not equal, we might be missing changes that have not been detected by prosemirror-changeset, + // such as marks or node attributes. Let's find and add the missing changes. + // + // example, using _ for bold: + // actual: helloworld! + // expected: hello_world_! + // + // actual: hello_world_! + // expected: helloworld! + // + // note: might be possible to merge this loop with the one at the start of the function + // but considered ok for now + while (diffStart !== null) { + const expectedNode = expectedDoc.resolve(diffStart).nodeAfter; + const actualNode = tr.doc.resolve(diffStart).nodeAfter; + + if (!expectedNode || !actualNode) { + throw new Error("diffNode not found"); + } + + const isNodeAttrChange = + !expectedNode.isLeaf && expectedNode.content.eq(actualNode.content); + + const length = isNodeAttrChange + ? 1 + : Math.min(expectedNode.nodeSize, actualNode.nodeSize); + + const to = diffStart + length; + const fromA = invertMap.map(diffStart); + const toA = invertMap.map(to); + + // find the position in changes array to insert the new change + let insertPos = changes.length; + for (let i = 0; i < changes.length; i++) { + // if (i > 0 && changes[i - 1].toA > fromA) { + // throw new Error("changes are overlapping"); + // } + + if (changes[i].fromA >= toA) { + insertPos = i; + break; + } + } + + changes.splice(insertPos, 0, { + fromA: fromA, + toA: toA, + fromB: diffStart, + toB: to, + deleted: [], + inserted: [], + type: isNodeAttrChange ? "node-type-or-attr-update" : "mark-update", + }); + + // apply the step so we can find the next diff + // Note: even for node type changes, this works - although maybe a ReplaceAroundStep might be cleaner? + tr.step( + new ReplaceStep( + diffStart, + to, + expectedDoc.slice(diffStart, to), + isNodeAttrChange + ) + ); + const newDiffStart = tr.doc.content.findDiffStart(expectedDoc.content); + + if (newDiffStart === diffStart) { + // prevent infinite loop, should not happen + throw new Error("diffStart not moving"); + } + + diffStart = newDiffStart; + } + + return changes; +} + +const createEncoder = (doc: Node, updatedDoc: Node) => { + // this encoder makes sure unchanged table cells stay intact, + // without this, prosemirror-changeset would too eagerly + // return changes across table cells (this is covered in test cases). + + const tableCellsOld = new Set(); + const tableCellsNew = new Set(); + doc.descendants((node) => { + if (node.type.name === "tableCell") { + tableCellsOld.add(JSON.stringify(node.toJSON())); + } + }); + + updatedDoc.descendants((node) => { + if (node.type.name === "tableCell") { + tableCellsNew.add(JSON.stringify(node.toJSON())); + } + }); + + const tableCells = new Set( + [...tableCellsOld].filter((cell) => tableCellsNew.has(cell)) + ); + + const encoder: TokenEncoder = { + encodeCharacter: (char) => char, + encodeNodeStart: (node) => { + if (node.type.name === "tableCell") { + const str = JSON.stringify(node.toJSON()); + if (tableCells.has(str)) { + return str; + } + return node.type.name; + } + return node.type.name; + }, + encodeNodeEnd: (node) => { + if (node.type.name === "tableCell") { + const str = JSON.stringify(node.toJSON()); + if (tableCells.has(str)) { + return str; + } + // return Math.random(); + return -1; + } + return -1; + }, + compareTokens: (a, b) => { + return a === b; + }, + }; + return encoder; +}; +/** + * This turns a single update `op` (that is, an update that could affect different parts of a block) + * into more granular steps (that is, each step only affects a single part of the block), by using a diffing algorithm. + * + * @param editor the editor to apply the update to (only used for schema info) + * @param op the update operation to apply + * @param doc the document to apply the update to + * @param dontReplaceContentAtEnd whether to not replace content at the end of the block (set to true processing "partial updates") + * @param updateFromPos the position to start the update from (can be used for selections) + * @param updateToPos the position to end the update at (can be used for selections) + * @returns the granular steps to apply to the editor to get to the updated doc + */ +export function updateToReplaceSteps( + op: UpdateBlockToolCall>, + doc: Node, + dontReplaceContentAtEnd = false, + updateFromPos?: number, + updateToPos?: number +) { + const blockPos = getNodeById(op.id, doc)!; + const updatedTr = new Transform(doc); + updateBlockTr( + updatedTr, + blockPos.posBeforeNode, + op.block, + updateFromPos, + updateToPos + ); + + let updatedDoc = updatedTr.doc; + + let changeset = ChangeSet.create( + doc, + undefined, + createEncoder(doc, updatedDoc) + ); + + changeset = changeset.addSteps(updatedDoc, updatedTr.mapping.maps, 0); + + // When we're streaming (we sent `dontReplaceContentAtEnd = true`), + // we need to add back the content that was removed at the end of the block. + // because maybe this content will not actually be removed by the LLM, but instead, + // it simply hasn't been streamed in yet. + // e.g.: + // actual: hello world! How are you doing? + // incoming stream: hello world! + // + // at this point, the changeset would drop "How are you doing?" + // but we should ignore this, as maybe this will still be in the LLMs yet-to-be-streamed response + if (dontReplaceContentAtEnd && changeset.changes.length > 0) { + // TODO: unit test + const lastChange = changeset.changes[changeset.changes.length - 1]; + + const lengthA = lastChange.toA - lastChange.fromA; + const lengthB = lastChange.toB - lastChange.fromB; + + if (lengthA > lengthB) { + const endOfBlockToReAdd = doc.slice( + lastChange.fromA + lengthB, + lastChange.toA + ); + updatedTr.step( + new ReplaceStep(lastChange.toB, lastChange.toB, endOfBlockToReAdd) + ); + updatedDoc = updatedTr.doc; + changeset = ChangeSet.create( + changeset.startDoc, + undefined, + createEncoder(changeset.startDoc, updatedDoc) + ); + changeset = changeset.addSteps(updatedDoc, updatedTr.mapping.maps, 0); + } + } + + const steps = []; + + // `changes` holds the changes that can be made to the cleaned doc to get to the updated doc + const changes: CustomChange[] = simplifyChanges( + changeset.changes, + updatedDoc + ); + + for (let i = 0; i < changes.length; i++) { + const step = changes[i]; + const replacement = updatedDoc.slice(step.fromB, step.toB); + + if (replacement.openEnd === 1 && replacement.openStart === 0) { + // node attr / type update + step.type = "node-type-or-attr-update"; + + if (replacement.size > 2) { + // This change is both a node type and content change + // we split this in two separate steps so we can handle them separately in "agent.ts" + const typeChange: CustomChange = { + fromA: step.fromA, + toA: step.fromA + 1, + fromB: step.fromB, + toB: step.fromB + 1, + deleted: [], + inserted: [], + type: "node-type-or-attr-update", + }; + + const contentChange: CustomChange = { + fromA: step.fromA + 1, + toA: step.toA, + fromB: step.fromB + 1, + toB: step.toB, + deleted: [], + inserted: [], + }; + + changes.splice(i, 1, typeChange, contentChange); + i++; + } + } + } + + addMissingChanges(changes, doc, updatedDoc); + + for (let i = 0; i < changes.length; i++) { + const step = changes[i]; + const replacement = updatedDoc.slice(step.fromB, step.toB); + + if (replacement.openEnd > 0 && replacement.size > 1) { + throw new Error( + "unexpected, openEnd > 0 and size > 1, this should have been split into two steps" + ); + } + + if ( + i === changes.length - 1 && + dontReplaceContentAtEnd && + step.type === "mark-update" + ) { + // for streaming mode, let's say we update: + // hello world + // to: + // hello world + + // when we're streaming, we might get + // hello wo + // as a partial update + + // it would look weird to apply an update like this mid-world, + // so in this case, we should not add the update yet and wait for more content + continue; + } + + // if (step.type === "node-type-or-attr-update") { + // const $pos = doc.resolve(step.fromA); + // const pos = $pos.pos; + // const node = doc.nodeAt(pos)!; + // debugger; + // steps.push( + // new ReplaceAroundStep( + // pos, + // pos + node.nodeSize, + // pos + 1, + // pos + node.nodeSize - 1, + // new Slice(Fragment.from(replacement.content.firstChild!), 0, 0), + // 1, + // true + // ) + // ); + // } else { + steps.push( + new ReplaceStep( + step.fromA, + step.toA, + replacement, + step.type === "node-type-or-attr-update" + ) + ); + // } + } + + return steps; +} diff --git a/packages/xl-ai/src/prosemirror/rebaseTool.test.ts b/packages/xl-ai/src/prosemirror/rebaseTool.test.ts new file mode 100644 index 0000000000..18f9838ace --- /dev/null +++ b/packages/xl-ai/src/prosemirror/rebaseTool.test.ts @@ -0,0 +1,94 @@ +import { BlockNoteEditor, getBlockInfo, getNodeById } from "@blocknote/core"; +import { expect, it } from "vitest"; +import { getApplySuggestionsTr, rebaseTool } from "./rebaseTool.js"; + +function getExampleEditorWithSuggestions() { + const editor = BlockNoteEditor.create({ + initialContent: [ + { + id: "1", + type: "paragraph", + content: "HelloHi, world!", // "Hello" will be marked as deleted and "Hi" will be marked as inserted + }, + ], + }); + + const blockPos = getNodeById("1", editor.prosemirrorState.doc)!; + + const block = getBlockInfo(blockPos); + if (!block.isBlockContainer) { + throw new Error("Block is not a container"); + } + + let tr = editor.prosemirrorState.tr.addMark( + block.blockContent.beforePos + 1, + block.blockContent.beforePos + 6, + editor.pmSchema.mark("deletion", {}) + ); + + tr = tr.addMark( + block.blockContent.beforePos + 6, + block.blockContent.beforePos + 8, + editor.pmSchema.mark("insertion", {}) + ); + + editor.dispatch(tr); + + return editor; +} + +it("should create some example suggestions", async () => { + const editor = getExampleEditorWithSuggestions(); + expect(editor.prosemirrorState.doc.toJSON()).toMatchSnapshot(); +}); + +it("should be able to apply changes to a clean doc (use invertMap)", async () => { + const editor = getExampleEditorWithSuggestions(); + + const cleaned = rebaseTool(editor, getApplySuggestionsTr(editor)); + + const blockPos = getNodeById("1", cleaned.doc)!; + + const block = getBlockInfo(blockPos); + + if (!block.isBlockContainer) { + throw new Error("Block is not a container"); + } + + const start = block.blockContent.beforePos + 1; + const end = start + 2; + + expect(cleaned.doc.textBetween(start, end)).toBe("Hi"); + + const tr = editor.prosemirrorState.tr.replaceWith( + cleaned.invertMap.map(start), + cleaned.invertMap.map(end), + editor.pmSchema.text("What's up") + ); + + expect(tr.doc.toJSON()).toMatchSnapshot(); +}); + +it("should be able to apply changes to a clean doc (use rebaseTr)", async () => { + const editor = getExampleEditorWithSuggestions(); + + const cleaned = rebaseTool(editor, getApplySuggestionsTr(editor)); + + const blockPos = getNodeById("1", cleaned.doc)!; + + const block = getBlockInfo(blockPos); + + if (!block.isBlockContainer) { + throw new Error("Block is not a container"); + } + + const start = block.blockContent.beforePos + 1; + const end = start + 2; + + expect(cleaned.doc.textBetween(start, end)).toBe("Hi"); + + const tr = cleaned.tr(); + tr.replaceWith(start, end, editor.pmSchema.text("What's up")); + + expect(cleaned.rebaseTr(tr).doc.toJSON()).toMatchSnapshot(); +}); diff --git a/packages/xl-ai/src/prosemirror/rebaseTool.ts b/packages/xl-ai/src/prosemirror/rebaseTool.ts new file mode 100644 index 0000000000..31ea0e4a6e --- /dev/null +++ b/packages/xl-ai/src/prosemirror/rebaseTool.ts @@ -0,0 +1,79 @@ +import { BlockNoteEditor } from "@blocknote/core"; +import { applySuggestions } from "@handlewithcare/prosemirror-suggest-changes"; +import { Transaction } from "prosemirror-state"; +import { Transform } from "prosemirror-transform"; + +// Helper function to get the transaction that removes all suggestions from the editor. +// +// (rebaseTool is usually used with a transaction that removes all suggestions from the editor) +export function getApplySuggestionsTr(editor: BlockNoteEditor) { + let applySuggestionsTr: Transaction; + applySuggestions(editor.prosemirrorState, (tr) => { + applySuggestionsTr = tr; + }); + + // @ts-ignore + if (!applySuggestionsTr) { + throw new Error("applySuggestionsTr is not set"); + } + + return applySuggestionsTr; +} + +/** + * A helper function to enable rebasing prosemirror operations. + * + * The idea is as follows: + * - There's an update U we want to apply to the editor state E + * - However, the update U cannot be applied directly to E. For example, because E contains suggestions, or other + * formatting incompatible with U + * - We can however apply U to a "clean" document E', the projection (one that has no suggestions or other formatting) + * - We can then use the inverse mapping of E' to E to get U' (the rebased update) which can be applied to E + * + * This function takes a `projectionTr`, which is the transaction that turns E into E' + * It returns a helper object that can be used to rebase operations done to E' onto E + */ +export function rebaseTool( + editor: BlockNoteEditor, + projectionTr: Transaction +) { + const invertMap = projectionTr.mapping.invert(); + return { + doc: projectionTr.doc, + + /** + * Return a new transform that has all the suggestions applied. + * You can add new operations to this transform and later rebase those on the original document with `rebaseTr` + */ + tr: () => { + return new Transform(projectionTr.doc); + }, + + /** + * Invert map created by applying the suggestions. + * You can use this to map positions on the "clean" document (the projection) to positions on the original document + */ + invertMap, + + /** + * Return a new transaction based on the editor state with all the steps you made to `tr`. + * These steps are rebased on the original document. + */ + rebaseTr: (tr: Transform) => { + if (tr.steps.length === 0) { + throw new Error("No steps to apply"); + } + let rebasedTr = editor.prosemirrorState.tr; + for (const step of tr.steps) { + const mappedStep = step.map(invertMap); + if (!mappedStep) { + throw new Error("Step is not mapped"); + } + rebasedTr = rebasedTr.step(mappedStep); + } + return rebasedTr; + }, + }; +} + +export type RebaseTool = ReturnType; diff --git a/packages/xl-ai/src/style.css b/packages/xl-ai/src/style.css new file mode 100644 index 0000000000..4e2eda224e --- /dev/null +++ b/packages/xl-ai/src/style.css @@ -0,0 +1,47 @@ +.bn-combobox { + display: flex; + flex-direction: column; + gap: 4px; + width: 100%; +} + +div:not(.bn-popover-content) > .bn-combobox-input, +div:not(.bn-popover-content) > .bn-combobox-items:not(:empty) { + background-color: var(--bn-colors-menu-background); + border: var(--bn-border); + border-radius: var(--bn-border-radius-medium); + box-shadow: var(--bn-shadow-medium); + color: var(--bn-colors-menu-text); + gap: 4px; + min-width: 145px; + padding: 2px; +} + +.bn-combobox-items { + max-width: 50%; +} + +/* Mantine (TODO) */ +/*.bn-toolbar .mantine-Button-root.bn-show-prompt-button,*/ +/*.bn-toolbar .mantine-Button-root.bn-show-prompt-button:hover {*/ +/* color: rgba(154, 56, 173, 0.5);*/ +/*}*/ + +div[data-type="modification"] { + display: inline; +} + +ins, +[data-type="modification"] { + background: rgba(24, 122, 220, 0.1); + border-bottom: 2px solid rgba(24, 122, 220, 0.1); + color: rgb(20, 95, 170); + text-decoration: none; +} + +del, +[DISABLED-data-node-deletion] { + color: rgba(100, 90, 75, 0.3); + text-decoration: line-through; + text-decoration-thickness: 1px; +} diff --git a/packages/xl-ai/src/testUtil/cases/defaultSchema.ts b/packages/xl-ai/src/testUtil/cases/defaultSchema.ts new file mode 100644 index 0000000000..755c377e45 --- /dev/null +++ b/packages/xl-ai/src/testUtil/cases/defaultSchema.ts @@ -0,0 +1,591 @@ +import { + BlockNoteEditor, + DefaultBlockSchema, + DefaultInlineContentSchema, + DefaultStyleSchema, +} from "@blocknote/core"; +import { EditorTestCases } from "../index.js"; + +export const defaultSchemaTestCases: EditorTestCases< + DefaultBlockSchema, + DefaultInlineContentSchema, + DefaultStyleSchema +> = { + name: "default schema", + createEditor: () => { + return BlockNoteEditor.create({ + // uploadFile: uploadToTmpFilesDotOrg_DEV_ONLY, + }); + }, + documents: [ + { + name: "paragraph/empty", + blocks: [ + { + type: "paragraph", + }, + ], + }, + { + name: "paragraph/hello-world", + blocks: [ + { + type: "paragraph", + content: "Hello", + }, + { + type: "paragraph", + content: "World", + }, + ], + }, + { + name: "paragraph/styled", + blocks: [ + { + type: "paragraph", + props: { + textAlignment: "center", + textColor: "orange", + backgroundColor: "pink", + }, + content: [ + { + type: "text", + styles: {}, + text: "Plain ", + }, + { + type: "text", + styles: { + textColor: "red", + }, + text: "Red Text ", + }, + { + type: "text", + styles: { + backgroundColor: "blue", + }, + text: "Blue Background ", + }, + { + type: "text", + styles: { + textColor: "red", + backgroundColor: "blue", + }, + text: "Mixed Colors", + }, + ], + }, + ], + }, + { + name: "paragraph/nested", + blocks: [ + { + type: "paragraph", + content: "Paragraph", + children: [ + { + type: "paragraph", + content: "Nested Paragraph 1", + }, + { + type: "paragraph", + content: "Nested Paragraph 2", + }, + ], + }, + ], + }, + { + name: "paragraph/lineBreaks", + blocks: [ + { + type: "paragraph", + content: "Line 1\nLine 2", + }, + ], + }, + { + name: "lists/basic", + blocks: [ + { + type: "bulletListItem", + content: "Bullet List Item 1", + }, + { + type: "bulletListItem", + content: "Bullet List Item 2", + }, + { + type: "numberedListItem", + content: "Numbered List Item 1", + }, + { + type: "numberedListItem", + content: "Numbered List Item 2", + }, + { + type: "checkListItem", + content: "Check List Item 1", + }, + { + type: "checkListItem", + props: { + checked: true, + }, + content: "Check List Item 2", + }, + ], + }, + { + name: "lists/nested", + blocks: [ + { + type: "bulletListItem", + content: "Bullet List Item 1", + }, + { + type: "bulletListItem", + content: "Bullet List Item 2", + children: [ + { + type: "numberedListItem", + content: "Numbered List Item 1", + }, + { + type: "numberedListItem", + content: "Numbered List Item 2", + children: [ + { + type: "checkListItem", + content: "Check List Item 1", + }, + { + type: "checkListItem", + props: { + checked: true, + }, + content: "Check List Item 2", + }, + ], + }, + ], + }, + ], + }, + { + name: "file/button", + blocks: [ + { + type: "file", + }, + ], + }, + { + name: "file/basic", + blocks: [ + { + type: "file", + props: { + name: "example", + url: "exampleURL", + caption: "Caption", + }, + }, + ], + }, + { + name: "file/noName", + blocks: [ + { + type: "file", + props: { + url: "exampleURL", + caption: "Caption", + }, + }, + ], + }, + { + name: "file/noCaption", + blocks: [ + { + type: "file", + props: { + name: "example", + url: "exampleURL", + }, + }, + ], + }, + { + name: "file/nested", + blocks: [ + { + type: "file", + props: { + name: "example", + url: "exampleURL", + caption: "Caption", + }, + children: [ + { + type: "file", + props: { + name: "example", + url: "exampleURL", + caption: "Caption", + }, + }, + ], + }, + ], + }, + // Because images need to fetch the download URL async, their internal HTML + // is initially rendered without a `src` attribute, which is reflected in + // the tests. + { + name: "image/button", + blocks: [ + { + type: "image", + }, + ], + }, + { + name: "image/basic", + blocks: [ + { + type: "image", + props: { + name: "example", + url: "exampleURL", + caption: "Caption", + previewWidth: 256, + }, + }, + ], + }, + { + name: "image/noName", + blocks: [ + { + type: "image", + props: { + url: "exampleURL", + caption: "Caption", + previewWidth: 256, + }, + }, + ], + }, + { + name: "image/noCaption", + blocks: [ + { + type: "image", + props: { + name: "example", + url: "exampleURL", + previewWidth: 256, + }, + }, + ], + }, + { + name: "image/noPreview", + blocks: [ + { + type: "image", + props: { + name: "example", + url: "exampleURL", + caption: "Caption", + showPreview: false, + previewWidth: 256, + }, + }, + ], + }, + { + name: "image/nested", + blocks: [ + { + type: "image", + props: { + url: "exampleURL", + caption: "Caption", + previewWidth: 256, + }, + children: [ + { + type: "image", + props: { + url: "exampleURL", + caption: "Caption", + previewWidth: 256, + }, + }, + ], + }, + ], + }, + { + name: "link/basic", + blocks: [ + { + // id: UniqueID.options.generateID(), + type: "paragraph", + content: [ + { + type: "link", + href: "https://www.website.com", + content: "Website", + }, + ], + }, + ], + }, + { + name: "link/styled", + blocks: [ + { + // id: UniqueID.options.generateID(), + type: "paragraph", + content: [ + { + type: "link", + href: "https://www.website.com", + content: [ + { + type: "text", + text: "Web", + styles: { + bold: true, + }, + }, + { + type: "text", + text: "site", + styles: {}, + }, + ], + }, + ], + }, + ], + }, + { + name: "link/adjacent", + blocks: [ + { + // id: UniqueID.options.generateID(), + type: "paragraph", + content: [ + { + type: "link", + href: "https://www.website.com", + content: "Website", + }, + { + type: "link", + href: "https://www.website2.com", + content: "Website2", + }, + ], + }, + ], + }, + { + name: "hardbreak/basic", + blocks: [ + { + // id: UniqueID.options.generateID(), + type: "paragraph", + content: [ + { + type: "text", + text: "Text1\nText2", + styles: {}, + }, + ], + }, + ], + }, + { + name: "hardbreak/multiple", + blocks: [ + { + // id: UniqueID.options.generateID(), + type: "paragraph", + content: [ + { + type: "text", + text: "Text1\nText2\nText3", + styles: {}, + }, + ], + }, + ], + }, + { + name: "hardbreak/start", + blocks: [ + { + // id: UniqueID.options.generateID(), + type: "paragraph", + content: [ + { + type: "text", + text: "\nText1", + styles: {}, + }, + ], + }, + ], + }, + { + name: "hardbreak/end", + blocks: [ + { + // id: UniqueID.options.generateID(), + type: "paragraph", + content: [ + { + type: "text", + text: "Text1\n", + styles: {}, + }, + ], + }, + ], + }, + { + name: "hardbreak/only", + blocks: [ + { + // id: UniqueID.options.generateID(), + type: "paragraph", + content: [ + { + type: "text", + text: "\n", + styles: {}, + }, + ], + }, + ], + }, + { + name: "hardbreak/styles", + blocks: [ + { + // id: UniqueID.options.generateID(), + type: "paragraph", + content: [ + { + type: "text", + text: "Text1\n", + styles: {}, + }, + { + type: "text", + text: "Text2", + styles: { bold: true }, + }, + ], + }, + ], + }, + { + name: "hardbreak/link", + blocks: [ + { + // id: UniqueID.options.generateID(), + type: "paragraph", + content: [ + { + type: "link", + href: "https://www.website.com", + content: "Link1\nLink1", + }, + ], + }, + ], + }, + { + name: "hardbreak/between-links", + blocks: [ + { + // id: UniqueID.options.generateID(), + type: "paragraph", + content: [ + { + type: "link", + href: "https://www.website.com", + content: "Link1\n", + }, + { + type: "link", + href: "https://www.website2.com", + content: "Link2", + }, + ], + }, + ], + }, + { + name: "complex/misc", + blocks: [ + { + // id: UniqueID.options.generateID(), + type: "heading", + props: { + backgroundColor: "blue", + textColor: "yellow", + textAlignment: "right", + level: 2, + }, + content: [ + { + type: "text", + text: "Heading ", + styles: { + bold: true, + underline: true, + }, + }, + { + type: "text", + text: "2", + styles: { + italic: true, + strike: true, + }, + }, + ], + children: [ + { + // id: UniqueID.options.generateID(), + type: "paragraph", + props: { + backgroundColor: "red", + }, + content: "Paragraph", + children: [], + }, + { + // id: UniqueID.options.generateID(), + type: "bulletListItem", + props: {}, + }, + ], + }, + ], + }, + ], +}; diff --git a/packages/xl-ai/src/testUtil/index.ts b/packages/xl-ai/src/testUtil/index.ts new file mode 100644 index 0000000000..69031648cb --- /dev/null +++ b/packages/xl-ai/src/testUtil/index.ts @@ -0,0 +1,20 @@ +import { + BlockNoteEditor, + BlockSchema, + InlineContentSchema, + PartialBlock, + StyleSchema, +} from "@blocknote/core"; + +export type EditorTestCases< + B extends BlockSchema, + I extends InlineContentSchema, + S extends StyleSchema +> = { + name: string; + createEditor: () => BlockNoteEditor; + documents: Array<{ + name: string; + blocks: PartialBlock, NoInfer, NoInfer>[]; + }>; +}; diff --git a/packages/xl-ai/src/testUtil/mswUtil.ts b/packages/xl-ai/src/testUtil/mswUtil.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/xl-ai/src/testUtil/testAIModels.ts b/packages/xl-ai/src/testUtil/testAIModels.ts new file mode 100644 index 0000000000..e5d87b04e3 --- /dev/null +++ b/packages/xl-ai/src/testUtil/testAIModels.ts @@ -0,0 +1,32 @@ +import { createGroq } from "@ai-sdk/groq"; +import { createOpenAI } from "@ai-sdk/openai"; +import { createOpenAICompatible } from "@ai-sdk/openai-compatible"; +import { createBlockNoteAIClient } from "../api/blocknoteAIClient/client.js"; + + +// Create client and models outside of test suites so they can be shared +const client = createBlockNoteAIClient({ + baseURL: "https://localhost:3000/ai", + apiKey: "PLACEHOLDER", +}); + +const groq = createGroq({ + ...client.getProviderSettings("groq"), +})("llama-3.3-70b-versatile"); + +const openai = createOpenAI({ + ...client.getProviderSettings("openai"), +})("gpt-4o-2024-08-06", {}); + +const albert = createOpenAICompatible({ + name: "albert-etalab", + // albert-etalab/neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8 + baseURL: "https://albert.api.etalab.gouv.fr/v1", + ...client.getProviderSettings("albert-etalab"), +})("neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8"); + +export const testAIModels = { + groq, + openai, + albert, +}; diff --git a/packages/xl-ai/src/testUtil/updates/updateOperations.ts b/packages/xl-ai/src/testUtil/updates/updateOperations.ts new file mode 100644 index 0000000000..a906ff5ec6 --- /dev/null +++ b/packages/xl-ai/src/testUtil/updates/updateOperations.ts @@ -0,0 +1,746 @@ +import { BlockNoteEditor, getBlockInfo, getNodeById, PartialBlock } from "@blocknote/core"; +import { schemaWithMention as schema } from "@shared/testing/editorSchemas/mention.js"; +import { createAIExtension } from "../../AIExtension.js"; +import { UpdateBlockToolCall } from "../../api/tools/createUpdateBlockTool.js"; + +/** + * This file defines a set of test cases that can be used to test update operations to the editor. + * It focuses on formatting related operations (like changing styles, inline content, props, etc) + */ + +export type TestUpdateOperation = { + /** + * The editor to apply the update to + */ + editor: () => BlockNoteEditor; + /** + * The update operation to apply to the editor + */ + updateOp: UpdateBlockToolCall>; + /** + * If provided, this function will be used to get the selection to use for the test. + */ + getTestSelection?: (editor: BlockNoteEditor) => { + from: number; + to: number; + }; + /** + * Description (name) of the test case + */ + description: string; + /** + * For LLM tests, this is a prompt that can be given that should also result in the same update. + * + * Note: the test cases in this file focus on formatting, so the prompts might not be very realistic, + * the goal of these tests is to test whether LLMs can make certain updates technically, not to test + * the quality of the prompt understanding, etc. (should be in different tests) + */ + userPrompt: string; + /** + * The capabilities that are required to perform the update. + * If the LLM does not have these capabilities, the test will be skipped. + */ + requiredCapabilities?: { + mentions?: boolean; + textAlignment?: boolean; + }; +}; + +// TODO: add test case where existing paragraph is right aligned / colored +// TODO: add test case where some text is colored +export function getTestEditor() { + return BlockNoteEditor.create({ + initialContent: [ + { + id: "ref1", + content: "Hello, world!", + }, + { + id: "ref2", + content: [ + { + type: "text", + text: "Hello, ", + }, + { + type: "mention", + props: { + user: "John Doe", + }, + }, + { + type: "text", + text: "! How ", + }, + { + type: "text", + text: "are you doing? ", + styles: { + bold: true, + }, + }, + { + type: "text", + text: "I'm feeling blue!", + styles: { + textColor: "blue", + }, + }, + ], + }, + { + id: "ref3", + type: "paragraph", + content: [ + { + type: "text", + text: "Hello, world! ", + styles: {}, + }, + { + type: "text", + text: "Bold text. ", + styles: { + bold: true, + }, + }, + { + type: "link", + href: "https://www.google.com", + content: "Link.", + }, + ], + }, + ], + schema, + _extensions: { + ai: createAIExtension({ + model: undefined as any, + }), + }, + }); +} + +export function getTableTestEditor() { + return BlockNoteEditor.create({ + initialContent: [ + { + id: "ref1", + type: "table", + content: { + type: "tableContent", + rows: [ + { + cells: ["Table Cell 1", "Table Cell 2", "Table Cell 3"], + }, + { + cells: [ + "Table Cell 4", + [ + { + type: "text", + text: "Table Cell Bold 5", + styles: { + bold: true, + }, + }, + ], + "Table Cell 6", + ], + }, + { + cells: ["Table Cell 7", "Table Cell 8", "Table Cell 9"], + }, + ], + }, + }, + ], + schema, + _extensions: { + ai: createAIExtension({ + model: undefined as any, + }), + }, + }); +} + +export const testUpdateOperations: TestUpdateOperation[] = [ + { + editor: getTestEditor, + description: "standard update", + updateOp: { + type: "update", + id: "ref1", + block: { + content: [{ type: "text", text: "Hallo, Welt!", styles: {} }], + }, + }, + userPrompt: "translate the first paragraph to german", + }, + { + editor: getTestEditor, + description: "translate selection", + updateOp: { + type: "update", + id: "ref2", + block: { + content: [{ type: "text", text: "Hallo", styles: {} }], + }, + }, + getTestSelection: (editor: BlockNoteEditor) => { + const posInfo = getNodeById("ref2", editor.prosemirrorState.doc)!; + const block = getBlockInfo(posInfo); + if (!block.isBlockContainer) { + throw new Error("Block is not a block container"); + } + return { + from: block.blockContent.beforePos + 1, + to: block.blockContent.beforePos + 1 + "Hello".length, + }; + }, + userPrompt: "translate to German", + }, + { + editor: getTestEditor, + description: "update block type", + updateOp: { + type: "update", + id: "ref1", + block: { + type: "heading", + props: { + level: 1, + }, + content: [{ type: "text", text: "Hello, world!", styles: {} }], + }, + }, + userPrompt: "make the first paragraph a heading", + }, + { + editor: getTestEditor, + description: "update block prop", + updateOp: { + type: "update", + id: "ref1", + block: { + props: { + textAlignment: "right", + }, + }, + }, + userPrompt: "make the first paragraph right aligned", + requiredCapabilities: { + textAlignment: true, + }, + }, + { + editor: getTestEditor, + description: "update block type and content", + updateOp: { + type: "update", + id: "ref1", + block: { + type: "heading", + props: { + level: 1, + }, + content: [{ type: "text", text: "What's up, world!", styles: {} }], + }, + }, + userPrompt: + "make the first paragraph a heading and update the content to 'What's up, world!'", + }, + { + editor: getTestEditor, + description: "update block prop and content", + updateOp: { + type: "update", + id: "ref1", + block: { + props: { + textAlignment: "right", + }, + content: [{ type: "text", text: "What's up, world!", styles: {} }], + }, + }, + userPrompt: + "make the first paragraph right aligned and update the content to 'What's up, world!'", + requiredCapabilities: { + textAlignment: true, + }, + }, + { + editor: getTestEditor, + description: "styles + ic in source block, replace content", + updateOp: { + type: "update", + id: "ref2", + block: { + content: [{ type: "text", text: "Hello, updated content", styles: {} }], + }, + }, + userPrompt: + "update the content of the second block to 'Hello, updated content'", + }, + { + editor: getTestEditor, + description: "styles + ic in source block, update text", + updateOp: { + type: "update", + id: "ref2", + block: { + content: [ + { + type: "text", + text: "Hallo, ", + styles: {}, + }, + { + type: "mention", + props: { + user: "John Doe", + }, + content: undefined, + }, + { + type: "text", + text: "! Wie ", + styles: {}, + }, + { + type: "text", + text: "geht es dir? ", + styles: { + bold: true, + }, + }, + { + type: "text", + text: "Ich fühle mich blau!", + styles: { + textColor: "blue", + }, + }, + ], + }, + }, + userPrompt: "translate the second block to german", + }, + { + editor: getTestEditor, + description: "styles + ic in source block, remove mark", + updateOp: { + type: "update", + id: "ref2", + block: { + content: [ + { + type: "text", + text: "Hello, ", + styles: {}, + }, + { + type: "mention", + props: { + user: "John Doe", + }, + content: undefined, + }, + { + type: "text", + text: "! How are you doing? ", + styles: {}, + }, + { + type: "text", + text: "I'm feeling blue!", + styles: { + textColor: "blue", + }, + }, + ], + }, + }, + userPrompt: "remove the bold style from the second block", + }, + { + editor: getTestEditor, + description: "styles + ic in source block, remove mention", + updateOp: { + type: "update", + id: "ref2", + block: { + content: [ + { + type: "text", + text: "Hello! How ", + styles: {}, + }, + { + type: "text", + text: "are you doing? ", + styles: { + bold: true, + }, + }, + { + type: "text", + text: "I'm feeling blue!", + styles: { + textColor: "blue", + }, + }, + ], + }, + }, + userPrompt: + "change to say 'Hello! How are you doing? I'm feeling blue!' (remove mention but keep bold text)", + }, + { + editor: getTestEditor, + description: "styles + ic in target block, add mark (word)", + updateOp: { + type: "update", + id: "ref1", + block: { + content: [ + { + type: "text", + text: "Hello, ", + styles: {}, + }, + { + type: "text", + text: "world!", + styles: { + bold: true, + }, + }, + ], + }, + }, + userPrompt: "make 'world!' (in the first block) bold", + }, + { + editor: getTestEditor, + description: "styles + ic in target block, add mark (paragraph)", + updateOp: { + type: "update", + id: "ref1", + block: { + content: [ + { + type: "text", + text: "Hello, world!", + styles: { + bold: true, + }, + }, + ], + }, + }, + userPrompt: "make first paragraph bold", + }, + { + editor: getTestEditor, + description: "plain source block, add mention", + updateOp: { + type: "update", + id: "ref1", + block: { + content: [ + { + type: "text", + text: "Hello, ", + styles: {}, + }, + { + type: "mention", + props: { + user: "Jane Doe", + }, + content: undefined, + }, + { + type: "text", + text: "!", + styles: {}, + }, + ], + }, + }, + userPrompt: + "Change the first paragraph to Hello, Jane Doe! (use a mention)", + requiredCapabilities: { + mentions: true, + }, + }, + { + editor: getTestEditor, + description: "styles + ic in source block, update mention prop", + updateOp: { + type: "update", + id: "ref2", + block: { + content: [ + { + styles: {}, + type: "text", + text: "Hello, ", + }, + { + content: undefined, + type: "mention", + props: { + user: "Jane Doe", + }, + }, + { + styles: {}, + type: "text", + text: "! How ", + }, + { + type: "text", + text: "are you doing? ", + styles: { + bold: true, + }, + }, + { + type: "text", + text: "I'm feeling blue!", + styles: { + textColor: "blue", + }, + }, + ], + }, + }, + userPrompt: "update the mention to Jane Doe", + requiredCapabilities: { + mentions: true, + }, + }, + { + editor: getTestEditor, + description: "drop mark and link", + updateOp: { + type: "update", + id: "ref3", + block: { + content: [ + { type: "text", text: "Hello, world! Bold text. Link.", styles: {} }, + ], + }, + }, + userPrompt: + "remove the formatting (turn into plain text without styles or urls) from the last paragraph", + }, + { + editor: getTestEditor, + description: "drop mark and link and change text within mark", + updateOp: { + type: "update", + id: "ref3", + block: { + content: [ + { type: "text", text: "Hi, world! Bold the text. Link.", styles: {} }, + ], + }, + }, + userPrompt: + "change the last paragraph to 'Hi, world! Bold the text. Link.' without any markup like bold or link", + }, + { + editor: getTableTestEditor, + description: "update table cell", + updateOp: { + type: "update", + id: "ref1", + block: { + content: { + type: "tableContent", + rows: [ + { + cells: ["Hello, world!", "Table Cell 2", "Table Cell 3"], + }, + { + cells: [ + "Table Cell 4", + [ + { + type: "text", + text: "Table Cell Bold 5", + styles: { + bold: true, + }, + }, + ], + "Table Cell 6", + ], + }, + { + cells: ["Table Cell 7", "Table Cell 8", "Table Cell 9"], + }, + ], + }, + }, + }, + userPrompt: "update the first cell to 'Hello, world!'", + }, + { + editor: getTableTestEditor, + description: "update table to caps", + updateOp: { + type: "update", + id: "ref1", + block: { + content: { + type: "tableContent", + rows: [ + { + cells: ["TABLE CELL 1", "TABLE CELL 2", "TABLE CELL 3"], + }, + { + cells: [ + "TABLE CELL 4", + [ + { + type: "text", + text: "TABLE CELL BOLD 5", + styles: { + bold: true, + }, + }, + ], + "TABLE CELL 6", + ], + }, + { + cells: ["TABLE CELL 7", "TABLE CELL 8", "TABLE CELL 9"], + }, + ], + }, + }, + }, + userPrompt: "update all table content to CAPS", + }, + { + editor: getTableTestEditor, + description: "remove column", + updateOp: { + type: "update", + id: "ref1", + block: { + content: { + type: "tableContent", + rows: [ + { + cells: ["Table Cell 1", "Table Cell 3"], + }, + { + cells: ["Table Cell 4", "Table Cell 6"], + }, + { + cells: ["Table Cell 7", "Table Cell 9"], + }, + ], + }, + }, + }, + userPrompt: "Remove the second column", + }, + { + editor: getTableTestEditor, + description: "remove last column", + updateOp: { + type: "update", + id: "ref1", + block: { + content: { + type: "tableContent", + rows: [ + { + cells: ["Table Cell 1", "Table Cell 2"], + }, + { + cells: [ + "Table Cell 4", + [ + { + type: "text", + text: "Table Cell Bold 5", + styles: { + bold: true, + }, + }, + ], + ], + }, + { + cells: ["Table Cell 7", "Table Cell 8"], + }, + ], + }, + }, + }, + userPrompt: "Remove the last column", + }, + { + editor: getTableTestEditor, + description: "remove row", + updateOp: { + type: "update", + id: "ref1", + block: { + content: { + type: "tableContent", + rows: [ + { + cells: ["Table Cell 1", "Table Cell 2", "Table Cell 3"], + }, + { + cells: ["Table Cell 7", "Table Cell 8", "Table Cell 9"], + }, + ], + }, + }, + }, + userPrompt: "Remove the second row", + }, + { + editor: getTableTestEditor, + description: "remove last row", + updateOp: { + type: "update", + id: "ref1", + block: { + content: { + type: "tableContent", + rows: [ + { + cells: ["Table Cell 1", "Table Cell 2", "Table Cell 3"], + }, + { + cells: [ + "Table Cell 4", + [ + { + type: "text", + text: "Table Cell Bold 5", + styles: { + bold: true, + }, + }, + ], + "Table Cell 6", + ], + }, + ], + }, + }, + }, + userPrompt: "Remove the last row", + }, +]; diff --git a/packages/xl-ai/tsconfig.json b/packages/xl-ai/tsconfig.json new file mode 100644 index 0000000000..dcf6b07cb8 --- /dev/null +++ b/packages/xl-ai/tsconfig.json @@ -0,0 +1,38 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ESNext", "DOM"], + "moduleResolution": "Node", + "jsx": "react-jsx", + "strict": true, + "sourceMap": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "noEmit": false, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitReturns": true, + "outDir": "dist", + "declaration": true, + "declarationDir": "types", + "composite": true, + "skipLibCheck": true, + "paths": { + "@shared/*": ["../../shared/*"] + } + }, + "include": ["src"], + "references": [ + { + "path": "../core" + }, + { + "path": "../react" + }, + { + "path": "../../shared" + } + ] +} diff --git a/packages/xl-ai/vite.config.ts b/packages/xl-ai/vite.config.ts new file mode 100644 index 0000000000..1b91e30c06 --- /dev/null +++ b/packages/xl-ai/vite.config.ts @@ -0,0 +1,63 @@ +import react from "@vitejs/plugin-react"; +import * as path from "path"; +import { webpackStats } from "rollup-plugin-webpack-stats"; +import { defineConfig } from "vite"; +import pkg from "./package.json"; +// import eslintPlugin from "vite-plugin-eslint"; + +const deps = Object.keys(pkg.dependencies); + +// https://vitejs.dev/config/ +export default defineConfig((conf) => ({ + test: { + environment: "jsdom", + setupFiles: ["./vitestSetup.ts"], + }, + plugins: [react(), webpackStats()], + // used so that vitest resolves the core package from the sources instead of the built version + resolve: { + alias: + conf.command === "build" + ? ({ + "@shared": path.resolve(__dirname, "../../shared/"), + } as Record) + : ({ + // load live from sources with live reload working + "@blocknote/core": path.resolve(__dirname, "../core/src/"), + "@blocknote/mantine": path.resolve(__dirname, "../mantine/src/"), + "@blocknote/react": path.resolve(__dirname, "../react/src/"), + "@shared": path.resolve(__dirname, "../../shared/"), + } as Record), + }, + build: { + sourcemap: true, + lib: { + entry: path.resolve(__dirname, "src/index.ts"), + name: "blocknote-xl-ai", + fileName: "blocknote-xl-ai", + }, + rollupOptions: { + // make sure to externalize deps that shouldn't be bundled + // into your library + external: (source: string) => { + if (deps.includes(source)) { + return true; + } + return ( + source.startsWith("prosemirror-") || + source.startsWith("@shikijs/lang") || + source.startsWith("@shikijs/theme") + ); + }, + output: { + // Provide global variables to use in the UMD build + // for externalized deps + globals: { + react: "React", + "react-dom": "ReactDOM", + }, + interop: "compat", // https://rollupjs.org/migration/#changed-defaults + }, + }, + }, +})); diff --git a/packages/xl-ai/vitestSetup.ts b/packages/xl-ai/vitestSetup.ts new file mode 100644 index 0000000000..7644d24b66 --- /dev/null +++ b/packages/xl-ai/vitestSetup.ts @@ -0,0 +1,46 @@ +import { Agent, setGlobalDispatcher } from "undici"; +import { afterEach, beforeEach } from "vitest"; +// make sure our fetch request uses HTTP/2 +setGlobalDispatcher( + new Agent({ + allowH2: true, + }) +); + +// https.globalAgent.options.ca = fs.readFileSync( +// path.join(__dirname, "../xl-ai-server/localhost.pem") +// ); +// debugger; +beforeEach(() => { + (window as Window & { __TEST_OPTIONS?: any }).__TEST_OPTIONS = {}; +}); + +afterEach(() => { + delete (window as Window & { __TEST_OPTIONS?: any }).__TEST_OPTIONS; +}); + +// Mock ClipboardEvent +class ClipboardEventMock extends Event { + public clipboardData = { + getData: () => { + // + }, + setData: () => { + // + }, + }; +} +(global as any).ClipboardEvent = ClipboardEventMock; + +// Mock DragEvent +class DragEventMock extends Event { + public dataTransfer = { + getData: () => { + // + }, + setData: () => { + // + }, + }; +} +(global as any).DragEvent = DragEventMock; diff --git a/packages/xl-docx-exporter/package.json b/packages/xl-docx-exporter/package.json index 784e32441b..d645e3beca 100644 --- a/packages/xl-docx-exporter/package.json +++ b/packages/xl-docx-exporter/package.json @@ -53,7 +53,8 @@ "lint": "eslint src --max-warnings 0", "test": "vitest --run", "test-watch": "vitest watch", - "email": "email dev" + "email": "email dev", + "_prepare": "npm run build" }, "dependencies": { "@blocknote/core": "0.29.1", diff --git a/packages/xl-multi-column/package.json b/packages/xl-multi-column/package.json index a711a6252a..8ce000562c 100644 --- a/packages/xl-multi-column/package.json +++ b/packages/xl-multi-column/package.json @@ -48,7 +48,8 @@ "lint": "eslint src --max-warnings 0", "test": "vitest --run", "test-watch": "vitest watch", - "clean": "rimraf dist && rimraf types" + "clean": "rimraf dist && rimraf types", + "_prepare": "npm run build" }, "dependencies": { "@blocknote/core": "0.29.1", @@ -57,7 +58,7 @@ "prosemirror-model": "^1.23.0", "prosemirror-state": "^1.4.3", "prosemirror-tables": "^1.3.7", - "prosemirror-transform": "^1.9.0", + "prosemirror-transform": "^1.10.4", "prosemirror-view": "^1.38.1", "react-icons": "^5.2.1" }, diff --git a/packages/xl-multi-column/src/test/conversions/formatConversionTestUtil.ts b/packages/xl-multi-column/src/test/conversions/formatConversionTestUtil.ts index a71cdbda08..8eea1129df 100644 --- a/packages/xl-multi-column/src/test/conversions/formatConversionTestUtil.ts +++ b/packages/xl-multi-column/src/test/conversions/formatConversionTestUtil.ts @@ -1,3 +1,5 @@ +// TODO: remove duplicate file + import { Block, BlockNoteSchema, @@ -17,7 +19,7 @@ import { } from "@blocknote/core"; function textShorthandToStyledText( - content: string | StyledText[] = "" + content: string | StyledText[] = "", ): StyledText[] { if (typeof content === "string") { return [ @@ -36,7 +38,7 @@ function partialContentToInlineContent( | PartialInlineContent | PartialTableCell | TableContent - | undefined + | undefined, ): | InlineContent[] | TableContent @@ -76,7 +78,7 @@ function partialContentToInlineContent( rows: content.rows.map((row) => ({ ...row, cells: row.cells.map( - (cell) => partialContentToInlineContent(cell) as any + (cell) => partialContentToInlineContent(cell) as any, ), })), }; @@ -100,23 +102,23 @@ function partialContentToInlineContent( export function partialBlocksToBlocksForTesting< BSchema extends BlockSchema, I extends InlineContentSchema, - S extends StyleSchema + S extends StyleSchema, >( schema: BlockNoteSchema, - partialBlocks: Array, NoInfer, NoInfer>> + partialBlocks: Array, NoInfer, NoInfer>>, ): Array> { return partialBlocks.map((partialBlock) => - partialBlockToBlockForTesting(schema.blockSchema, partialBlock) + partialBlockToBlockForTesting(schema.blockSchema, partialBlock), ); } export function partialBlockToBlockForTesting< BSchema extends BlockSchema, I extends InlineContentSchema, - S extends StyleSchema + S extends StyleSchema, >( schema: BSchema, - partialBlock: PartialBlock + partialBlock: PartialBlock, ): Block { const contentType: "inline" | "table" | "none" = schema[partialBlock.type!].content; @@ -129,14 +131,14 @@ export function partialBlockToBlockForTesting< contentType === "inline" ? [] : contentType === "table" - ? { - type: "tableContent", - columnWidths: undefined, - headerRows: undefined, - headerCols: undefined, - rows: [], - } - : (undefined as any), + ? { + type: "tableContent", + columnWidths: undefined, + headerRows: undefined, + headerCols: undefined, + rows: [], + } + : (undefined as any), children: [] as any, ...partialBlock, }; @@ -149,7 +151,7 @@ export function partialBlockToBlockForTesting< ) { (withDefaults.props as any)[propKey] = propValue.default; } - } + }, ); if (contentType === "inline") { diff --git a/packages/xl-pdf-exporter/package.json b/packages/xl-pdf-exporter/package.json index 783fc077f2..e34301bc00 100644 --- a/packages/xl-pdf-exporter/package.json +++ b/packages/xl-pdf-exporter/package.json @@ -52,7 +52,8 @@ "lint": "eslint src --max-warnings 0", "test": "vitest --run", "test-watch": "vitest watch", - "email": "email dev" + "email": "email dev", + "_prepare": "npm run build" }, "dependencies": { "@blocknote/core": "0.29.1", diff --git a/playground/.env b/playground/.env new file mode 100644 index 0000000000..087c0f3af0 --- /dev/null +++ b/playground/.env @@ -0,0 +1,2 @@ +VITE_BLOCKNOTE_AI_SERVER_API_KEY= +VITE_BLOCKNOTE_AI_SERVER_BASE_URL= \ No newline at end of file diff --git a/playground/package.json b/playground/package.json index d42ee2abe5..a3de54234c 100644 --- a/playground/package.json +++ b/playground/package.json @@ -10,6 +10,9 @@ "clean": "rimraf dist" }, "dependencies": { + "ai": "^4.1.0", + "@ai-sdk/openai": "^1.1.0", + "@ai-sdk/groq": "^1.1.0", "@aws-sdk/client-s3": "^3.609.0", "@aws-sdk/s3-request-presigner": "^3.609.0", "@blocknote/ariakit": "workspace:^", @@ -19,6 +22,7 @@ "@blocknote/react": "workspace:^", "@blocknote/server-util": "workspace:^", "@blocknote/shadcn": "workspace:^", + "@blocknote/xl-ai": "workspace:^", "@blocknote/xl-docx-exporter": "workspace:^", "@blocknote/xl-multi-column": "workspace:^", "@blocknote/xl-odt-exporter": "workspace:^", diff --git a/playground/src/examples.gen.tsx b/playground/src/examples.gen.tsx index a19a530049..880a14d0da 100644 --- a/playground/src/examples.gen.tsx +++ b/playground/src/examples.gen.tsx @@ -1356,6 +1356,38 @@ } ] }, + "ai": { + "pathFromRoot": "examples/09-ai", + "slug": "ai", + "projects": [ + { + "projectSlug": "minimal", + "fullSlug": "ai/minimal", + "pathFromRoot": "examples/09-ai/01-minimal", + "config": { + "playground": true, + "docs": true, + "author": "yousefed", + "tags": [ + "AI", + "llm" + ], + "dependencies": { + "@blocknote/xl-ai": "latest", + "@mantine/core": "^7.10.1", + "ai": "^4.1.0", + "@ai-sdk/openai": "^1.1.0", + "@ai-sdk/groq": "^1.1.0" + } as any + }, + "title": "AI integration", + "group": { + "pathFromRoot": "examples/09-ai", + "slug": "ai" + } + } + ] + }, "vanilla-js": { "pathFromRoot": "examples/vanilla-js", "slug": "vanilla-js", diff --git a/playground/tsconfig.json b/playground/tsconfig.json index 8561d1dc0a..6de9cc3fe9 100644 --- a/playground/tsconfig.json +++ b/playground/tsconfig.json @@ -21,6 +21,7 @@ "include": ["src", "../examples"], "references": [ { "path": "./tsconfig.node.json" }, + { "path": "../packages/xl-ai/" }, { "path": "../packages/core/" }, { "path": "../packages/react/" }, { "path": "../packages/ariakit/" }, diff --git a/playground/vite.config.ts b/playground/vite.config.ts index f32ac1a691..2e85b7dc05 100644 --- a/playground/vite.config.ts +++ b/playground/vite.config.ts @@ -57,6 +57,10 @@ export default defineConfig( __dirname, "../packages/shadcn/src/" ), + "@blocknote/xl-ai": path.resolve( + __dirname, + "../packages/xl-ai/src/" + ), "@blocknote/xl-docx-exporter": path.resolve( __dirname, "../packages/xl-docx-exporter/src/" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 643070b55d..52b9c4da98 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,7 +49,7 @@ importers: version: 5.8.2 vitest: specifier: ^2.0.3 - version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(terser@5.39.0) + version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(terser@5.39.0) wait-on: specifier: 8.0.3 version: 8.0.3 @@ -2685,6 +2685,58 @@ importers: specifier: ^5.3.4 version: 5.4.15(@types/node@22.14.1)(terser@5.39.0) + examples/09-ai/01-minimal: + dependencies: + '@ai-sdk/groq': + specifier: ^1.1.0 + version: 1.2.4(zod@3.24.2) + '@ai-sdk/openai': + specifier: ^1.1.0 + version: 1.3.7(zod@3.24.2) + '@blocknote/ariakit': + specifier: latest + version: link:../../../packages/ariakit + '@blocknote/core': + specifier: latest + version: link:../../../packages/core + '@blocknote/mantine': + specifier: latest + version: link:../../../packages/mantine + '@blocknote/react': + specifier: latest + version: link:../../../packages/react + '@blocknote/shadcn': + specifier: latest + version: link:../../../packages/shadcn + '@blocknote/xl-ai': + specifier: latest + version: link:../../../packages/xl-ai + '@mantine/core': + specifier: ^7.10.1 + version: 7.17.3(@mantine/hooks@7.17.3(react@18.3.1))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + ai: + specifier: ^4.1.0 + version: 4.3.1(react@18.3.1)(zod@3.24.2) + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) + devDependencies: + '@types/react': + specifier: ^18.0.25 + version: 18.3.20 + '@types/react-dom': + specifier: ^18.0.9 + version: 18.3.5(@types/react@18.3.20) + '@vitejs/plugin-react': + specifier: ^4.3.1 + version: 4.3.4(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) + vite: + specifier: ^5.3.4 + version: 5.4.15(@types/node@22.14.1)(terser@5.39.0) + examples/vanilla-js/react-vanilla-custom-blocks: dependencies: '@blocknote/ariakit': @@ -2886,13 +2938,16 @@ importers: version: 1.8.1(eslint@8.57.1)(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) vitest: specifier: ^2.0.3 - version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(terser@5.39.0) + version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(terser@5.39.0) packages/core: dependencies: '@emoji-mart/data': specifier: ^1.2.1 version: 1.2.1 + '@handlewithcare/prosemirror-suggest-changes': + specifier: ^0.1.3 + version: 0.1.3(prosemirror-model@1.25.0)(prosemirror-state@1.4.3)(prosemirror-transform@1.10.4)(prosemirror-view@1.38.1) '@hocuspocus/provider': specifier: ^2.15.2 version: 2.15.2(y-protocols@1.0.6(yjs@13.6.24))(yjs@13.6.24) @@ -2958,7 +3013,7 @@ importers: version: 1.8.1 prosemirror-highlight: specifier: ^0.13.0 - version: 0.13.0(@shikijs/types@3.2.1)(@types/hast@3.0.4)(prosemirror-model@1.25.0)(prosemirror-state@1.4.3)(prosemirror-transform@1.10.3)(prosemirror-view@1.38.1) + version: 0.13.0(@shikijs/types@3.2.1)(@types/hast@3.0.4)(prosemirror-model@1.25.0)(prosemirror-state@1.4.3)(prosemirror-transform@1.10.4)(prosemirror-view@1.38.1) prosemirror-model: specifier: ^1.24.1 version: 1.25.0 @@ -2969,8 +3024,8 @@ importers: specifier: ^1.6.4 version: 1.6.4 prosemirror-transform: - specifier: ^1.10.2 - version: 1.10.3 + specifier: ^1.10.4 + version: 1.10.4 prosemirror-view: specifier: ^1.38.1 version: 1.38.1 @@ -3046,7 +3101,7 @@ importers: version: 1.8.1(eslint@8.57.1)(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) vitest: specifier: ^2.0.3 - version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(terser@5.39.0) + version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(terser@5.39.0) packages/dev-scripts: dependencies: @@ -3220,7 +3275,7 @@ importers: version: 0.8.0(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) vitest: specifier: ^2.0.3 - version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(terser@5.39.0) + version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(terser@5.39.0) packages/server-util: dependencies: @@ -3281,7 +3336,7 @@ importers: version: 1.8.1(eslint@8.57.1)(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) vitest: specifier: ^2.0.3 - version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(terser@5.39.0) + version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(terser@5.39.0) packages/shadcn: dependencies: @@ -3395,6 +3450,197 @@ importers: specifier: ^0.8.0 version: 0.8.0(vite@5.4.15(@types/node@20.17.28)(terser@5.39.0)) + packages/xl-ai: + dependencies: + '@ai-sdk/groq': + specifier: ^1.2.0 + version: 1.2.4(zod@3.24.2) + '@ai-sdk/openai': + specifier: ^1.3.0 + version: 1.3.7(zod@3.24.2) + '@ai-sdk/openai-compatible': + specifier: ^0.2.0 + version: 0.2.6(zod@3.24.2) + '@blocknote/core': + specifier: workspace:* + version: link:../core + '@blocknote/mantine': + specifier: workspace:* + version: link:../mantine + '@blocknote/react': + specifier: workspace:* + version: link:../react + '@ewoudenberg/difflib': + specifier: ^0.1.0 + version: 0.1.0 + '@floating-ui/react': + specifier: ^0.26.4 + version: 0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@handlewithcare/prosemirror-suggest-changes': + specifier: ^0.1.3 + version: 0.1.3(prosemirror-model@1.25.0)(prosemirror-state@1.4.3)(prosemirror-transform@1.10.4)(prosemirror-view@1.38.1) + '@tiptap/core': + specifier: ^2.7.1 + version: 2.11.5(@tiptap/pm@2.11.5) + ai: + specifier: ^4.2.1 + version: 4.3.1(react@18.3.1)(zod@3.24.2) + diff: + specifier: ^7.0.0 + version: 7.0.0 + json-diff: + specifier: ^1.0.6 + version: 1.0.6 + json-diff-kit: + specifier: ^1.0.29 + version: 1.0.31 + json-schema: + specifier: ^0.4.0 + version: 0.4.0 + lodash.isequal: + specifier: ^4.5.0 + version: 4.5.0 + prosemirror-changeset: + specifier: ^2.3.0 + version: 2.3.0 + prosemirror-model: + specifier: ^1.24.1 + version: 1.25.0 + prosemirror-state: + specifier: ^1.4.3 + version: 1.4.3 + prosemirror-tables: + specifier: ^1.6.4 + version: 1.6.4 + prosemirror-transform: + specifier: ^1.10.4 + version: 1.10.4 + prosemirror-view: + specifier: ^1.33.7 + version: 1.38.1 + react: + specifier: ^18 + version: 18.3.1 + react-dom: + specifier: ^18 + version: 18.3.1(react@18.3.1) + react-icons: + specifier: ^5.2.1 + version: 5.5.0(react@18.3.1) + remark-parse: + specifier: ^10.0.1 + version: 10.0.2 + remark-stringify: + specifier: ^10.0.2 + version: 10.0.3 + unified: + specifier: ^10.1.2 + version: 10.1.2 + zustand: + specifier: ^5.0.3 + version: 5.0.3(@types/react@18.3.20)(immer@10.1.1)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) + devDependencies: + '@mswjs/interceptors': + specifier: ^0.37.5 + version: 0.37.6 + '@types/diff': + specifier: ^6.0.0 + version: 6.0.0 + '@types/json-diff': + specifier: ^1.0.3 + version: 1.0.3 + '@types/lodash.isequal': + specifier: ^4.5.8 + version: 4.5.8 + '@types/react': + specifier: ^18.0.25 + version: 18.3.20 + '@types/react-dom': + specifier: ^18.0.9 + version: 18.3.5(@types/react@18.3.20) + '@vitejs/plugin-react': + specifier: ^4.3.1 + version: 4.3.4(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) + '@vitest/runner': + specifier: ^2.0.3 + version: 2.1.9 + eslint: + specifier: ^8.10.0 + version: 8.57.1 + headers-polyfill: + specifier: ^4.0.3 + version: 4.0.3 + msw: + specifier: ^2.7.3 + version: 2.7.3(@types/node@22.14.1)(typescript@5.8.2) + msw-snapshot: + specifier: ^5.2.0 + version: 5.2.0(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2)) + rimraf: + specifier: ^5.0.5 + version: 5.0.10 + rollup-plugin-webpack-stats: + specifier: ^0.2.2 + version: 0.2.6(rollup@4.37.0) + typescript: + specifier: ^5.3.3 + version: 5.8.2 + undici: + specifier: ^6 + version: 6.21.2 + vite: + specifier: ^5.3.4 + version: 5.4.15(@types/node@22.14.1)(terser@5.39.0) + vite-plugin-eslint: + specifier: ^1.8.1 + version: 1.8.1(eslint@8.57.1)(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) + vite-plugin-externalize-deps: + specifier: ^0.8.0 + version: 0.8.0(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) + vitest: + specifier: ^2.0.3 + version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(terser@5.39.0) + + packages/xl-ai-server: + dependencies: + '@hono/node-server': + specifier: ^1.13.7 + version: 1.14.0(hono@4.7.5) + hono: + specifier: ^4.6.12 + version: 4.7.5 + devDependencies: + eslint: + specifier: ^8.10.0 + version: 8.57.1 + rimraf: + specifier: ^5.0.5 + version: 5.0.10 + rollup-plugin-webpack-stats: + specifier: ^0.2.2 + version: 0.2.6(rollup@4.37.0) + typescript: + specifier: ^5.3.3 + version: 5.8.2 + undici: + specifier: ^6 + version: 6.21.2 + vite: + specifier: ^5.3.4 + version: 5.4.15(@types/node@22.14.1)(terser@5.39.0) + vite-node: + specifier: ^2.1.6 + version: 2.1.9(@types/node@22.14.1)(terser@5.39.0) + vite-plugin-eslint: + specifier: ^1.8.1 + version: 1.8.1(eslint@8.57.1)(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) + vite-plugin-externalize-deps: + specifier: ^0.8.0 + version: 0.8.0(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) + vitest: + specifier: ^2.0.3 + version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(terser@5.39.0) + packages/xl-docx-exporter: dependencies: '@blocknote/core': @@ -3442,7 +3688,7 @@ importers: version: 1.8.1(eslint@8.57.1)(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) vitest: specifier: ^2.0.3 - version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(terser@5.39.0) + version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(terser@5.39.0) xml-formatter: specifier: ^3.6.3 version: 3.6.5 @@ -3468,8 +3714,8 @@ importers: specifier: ^1.3.7 version: 1.6.4 prosemirror-transform: - specifier: ^1.9.0 - version: 1.10.3 + specifier: ^1.10.4 + version: 1.10.4 prosemirror-view: specifier: ^1.38.1 version: 1.38.1 @@ -3515,7 +3761,7 @@ importers: version: 1.8.1(eslint@8.57.1)(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) vitest: specifier: ^2.0.3 - version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@21.1.2(canvas@2.11.2(encoding@0.1.13)))(terser@5.39.0) + version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@21.1.2(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(terser@5.39.0) packages/xl-odt-exporter: dependencies: @@ -3561,7 +3807,7 @@ importers: version: 1.8.1(eslint@8.57.1)(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) vitest: specifier: ^2.0.3 - version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(terser@5.39.0) + version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(terser@5.39.0) xml-formatter: specifier: ^3.6.3 version: 3.6.5 @@ -3631,10 +3877,16 @@ importers: version: 1.8.1(eslint@8.57.1)(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) vitest: specifier: ^2.0.3 - version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(terser@5.39.0) + version: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(terser@5.39.0) playground: dependencies: + '@ai-sdk/groq': + specifier: ^1.1.0 + version: 1.2.4(zod@3.24.2) + '@ai-sdk/openai': + specifier: ^1.1.0 + version: 1.3.7(zod@3.24.2) '@aws-sdk/client-s3': specifier: ^3.609.0 version: 3.775.0 @@ -3662,6 +3914,9 @@ importers: '@blocknote/shadcn': specifier: workspace:^ version: link:../packages/shadcn + '@blocknote/xl-ai': + specifier: workspace:^ + version: link:../packages/xl-ai '@blocknote/xl-docx-exporter': specifier: workspace:^ version: link:../packages/xl-docx-exporter @@ -3740,6 +3995,9 @@ importers: '@y-sweet/react': specifier: ^0.6.3 version: 0.6.4(react@18.3.1)(yjs@13.6.24) + ai: + specifier: ^4.1.0 + version: 4.3.1(react@18.3.1)(zod@3.24.2) autoprefixer: specifier: 10.4.21 version: 10.4.21(postcss@8.5.3) @@ -3790,22 +4048,6 @@ importers: specifier: ^1.8.1 version: 1.8.1(eslint@8.57.1)(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) - shared: - dependencies: - '@blocknote/core': - specifier: workspace:^ - version: link:../packages/core - image-meta: - specifier: ^0.2.1 - version: 0.2.1 - devDependencies: - '@types/node': - specifier: 22.13.13 - version: 22.13.13 - typescript: - specifier: ^5.3.3 - version: 5.8.2 - tests: devDependencies: '@blocknote/ariakit': @@ -3867,10 +4109,54 @@ importers: version: 1.8.1(eslint@8.57.1)(vite@5.4.15(@types/node@20.17.28)(terser@5.39.0)) vitest: specifier: ^2.0.3 - version: 2.1.9(@types/node@20.17.28)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(terser@5.39.0) + version: 2.1.9(@types/node@20.17.28)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@20.17.28)(typescript@5.8.2))(terser@5.39.0) packages: + '@ai-sdk/groq@1.2.4': + resolution: {integrity: sha512-jeO/tO8lGpk7L/zpPPSeZ6tMYwcXq2LbPEgmvTDhdrSj4AwYhL9WiEmZerixsKzNuOxjAzP0QZOns1SpsGaC2A==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + + '@ai-sdk/openai-compatible@0.2.6': + resolution: {integrity: sha512-UOPEWIqG3l5K9O+p7gqiCOWzx66JtmG9v9Mab+S4E7WE34EN6u1QS1pX+RDlRDhZ0/8gNJif0r4Xlc+Ti03yNA==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + + '@ai-sdk/openai@1.3.7': + resolution: {integrity: sha512-JjjEulfMgH5kGyCWKdyhxNLSIs2qBkUr6LtzNJtYlV23e5RbOHA5qgbbxn6IbGxeZs4xpPhpGmOnUVzh7GZwcg==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + + '@ai-sdk/provider-utils@2.2.4': + resolution: {integrity: sha512-13sEGBxB6kgaMPGOgCLYibF6r8iv8mgjhuToFrOTU09bBxbFQd8ZoARarCfJN6VomCUbUvMKwjTBLb1vQnN+WA==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.23.8 + + '@ai-sdk/provider@1.1.0': + resolution: {integrity: sha512-0M+qjp+clUD0R1E5eWQFhxEvWLNaOtGQRUaBn8CUABnSKredagq92hUS9VjOzGsTm37xLfpaxl97AVtbeOsHew==} + engines: {node: '>=18'} + + '@ai-sdk/react@1.2.6': + resolution: {integrity: sha512-5BFChNbcYtcY9MBStcDev7WZRHf0NpTrk8yfSoedWctB3jfWkFd1HECBvdc8w3mUQshF2MumLHtAhRO7IFtGGQ==} + engines: {node: '>=18'} + peerDependencies: + react: ^18 || ^19 || ^19.0.0-rc + zod: ^3.23.8 + peerDependenciesMeta: + zod: + optional: true + + '@ai-sdk/ui-utils@1.2.5': + resolution: {integrity: sha512-XDgqnJcaCkDez7qolvk+PDbs/ceJvgkNkxkOlc9uDWqxfDJxtvCZ+14MP/1qr4IBwGIgKVHzMDYDXvqVhSWLzg==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.23.8 + '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} @@ -4728,6 +5014,15 @@ packages: '@braintree/sanitize-url@6.0.4': resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} + '@bundled-es-modules/cookie@2.0.1': + resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==} + + '@bundled-es-modules/statuses@1.0.1': + resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} + + '@bundled-es-modules/tough-cookie@0.1.6': + resolution: {integrity: sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==} + '@cloudflare/workerd-darwin-64@1.20240129.0': resolution: {integrity: sha512-DfVVB5IsQLVcWPJwV019vY3nEtU88c2Qu2ST5SQxqcGivZ52imagLRK0RHCIP8PK4piSiq90qUC6ybppUsw8eg==} engines: {node: '>=16'} @@ -4761,6 +5056,9 @@ packages: '@cloudflare/workers-types@4.20240129.0': resolution: {integrity: sha512-VyHbih/bqh/RN2FRxnXznG0bpBIg9RfSP1ldbAVnCXFinjOdv0zm2P/RWqOVN9+FgU5sanRltwwT7jGngxZy8w==} + '@cronvel/get-pixels@3.4.1': + resolution: {integrity: sha512-gB5C5nDIacLUdsMuW8YsM9SzK3vaFANe4J11CVXpovpy7bZUGrcJKmc6m/0gWG789pKr6XSZY2aEetjFvSRw5g==} + '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -5469,6 +5767,9 @@ packages: resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@ewoudenberg/difflib@0.1.0': + resolution: {integrity: sha512-OU5P5mJyD3OoWYMWY+yIgwvgNS9cFAU10f+DDuvtogcWQOoJIsQ4Hy2McSfUfhKjq8L0FuWVb4Rt7kgA+XK86A==} + '@fastify/busboy@2.1.1': resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} @@ -5494,6 +5795,14 @@ packages: '@floating-ui/utils@0.2.9': resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} + '@handlewithcare/prosemirror-suggest-changes@0.1.3': + resolution: {integrity: sha512-aOlmtIGs4BkEyEvMltBwiAUBy9b+Nvo5yWTZUo1z4NQylZU8IGkqMIuavuwHxnByfW5KHkeB1fFNudur8NPmMQ==} + peerDependencies: + prosemirror-model: ^1.0.0 + prosemirror-state: ^1.0.0 + prosemirror-transform: ^1.0.0 + prosemirror-view: ^1.0.0 + '@hapi/hoek@9.3.0': resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} @@ -5524,6 +5833,12 @@ packages: y-protocols: ^1.0.6 yjs: ^13.6.8 + '@hono/node-server@1.14.0': + resolution: {integrity: sha512-YUCxJwgHRKSqjrdTk9e4VMGKN27MK5r4+MGPyZTgKH+IYbK+KtYbHeOcPGJ91KGGD6RIQiz2dAHxvjauNhOS8g==} + engines: {node: '>=18.14.1'} + peerDependencies: + hono: ^4 + '@hookform/resolvers@3.10.0': resolution: {integrity: sha512-79Dv+3mDF7i+2ajj7SkypSKHhl1cbln1OGavqrsF7p6mbUv11xpqpacPsGDCTRvCSjEEIez2ef1NveSVL3b0Ag==} peerDependencies: @@ -5757,6 +6072,37 @@ packages: cpu: [x64] os: [win32] + '@inquirer/confirm@5.1.9': + resolution: {integrity: sha512-NgQCnHqFTjF7Ys2fsqK2WtnA8X1kHyInyG+nMIuHowVTIgIuS10T4AznI/PvbqSpJqjCUqNBlKGh1v3bwLFL4w==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/core@10.1.10': + resolution: {integrity: sha512-roDaKeY1PYY0aCqhRmXihrHjoSW2A00pV3Ke5fTpMCkzcGF64R8e0lw3dK+eLEHwS4vB5RnW1wuQmvzoRul8Mw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/figures@1.0.11': + resolution: {integrity: sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==} + engines: {node: '>=18'} + + '@inquirer/type@3.0.6': + resolution: {integrity: sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -5876,6 +6222,10 @@ packages: peerDependencies: react: '>=16' + '@mswjs/interceptors@0.37.6': + resolution: {integrity: sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w==} + engines: {node: '>=18'} + '@mui/core-downloads-tracker@5.17.1': resolution: {integrity: sha512-OcZj+cs6EfUD39IoPBOgN61zf1XFVY+imsGoBDwXeSq2UHJZE3N59zzBOVjclck91Ne3e9gudONOeILvHCIhUA==} @@ -6268,6 +6618,15 @@ packages: '@nx/workspace@20.6.4': resolution: {integrity: sha512-HZK0XTJ1flx9NpAFW8ZVeMRrsAEOc4Bj5ZtBR1aVUSC/IzAGQH4dkVZMXX1oG3vBzhuz+4Ery2mfst1YsJNuxQ==} + '@open-draft/deferred-promise@2.2.0': + resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} + + '@open-draft/logger@0.3.0': + resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} + + '@open-draft/until@2.1.0': + resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} + '@opentelemetry/api-logs@0.57.2': resolution: {integrity: sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A==} engines: {node: '>=14'} @@ -7807,6 +8166,9 @@ packages: '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/cookie@0.6.0': + resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} + '@types/cors@2.8.17': resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} @@ -7822,6 +8184,12 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/diff-match-patch@1.0.36': + resolution: {integrity: sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==} + + '@types/diff@6.0.0': + resolution: {integrity: sha512-dhVCYGv3ZSbzmQaBSagrv1WJ6rXCdkyTcDyoNu1MD8JohI7pR7k8wdZEm+mvdxRKXyHVwckFzWU1vJc+Z29MlA==} + '@types/emoji-mart@3.0.14': resolution: {integrity: sha512-/vMkVnet466bK37ugf2jry9ldCZklFPXYMB2m+qNo3vkP2I7L0cvtNFPKAjfcHgPg9Z8pbYqVqZn7AgsC0qf+g==} @@ -7870,6 +8238,9 @@ packages: '@types/jsdom@21.1.7': resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==} + '@types/json-diff@1.0.3': + resolution: {integrity: sha512-Qvxm8fpRMv/1zZR3sQWImeRK2mBYJji20xF51Fq9Gt//Ed18u0x6/FNLogLS1xhfUWTEmDyqveJqn95ltB6Kvw==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -7888,6 +8259,9 @@ packages: '@types/lodash.groupby@4.6.9': resolution: {integrity: sha512-z2xtCX2ko7GrqORnnYea4+ksT7jZNAvaOcLd6mP9M7J09RHvJs06W8BGdQQAX8ARef09VQLdeRilSOcfHlDQJQ==} + '@types/lodash.isequal@4.5.8': + resolution: {integrity: sha512-uput6pg4E/tj2LGxCZo9+y27JNyB2OZuuI/T5F+ylVDYuqICLG2/ktjxx0v6GvVntAf8TvEzeQLcV0ffRirXuA==} + '@types/lodash.merge@4.6.9': resolution: {integrity: sha512-23sHDPmzd59kUgWyKGiOMO2Qb9YtqRO/x4IhkgNUiPQ1+5MUVqi6bCZeq9nBJ17msjIMbEIO5u+XW4Kz6aGUhQ==} @@ -7976,6 +8350,9 @@ packages: '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + '@types/statuses@2.0.5': + resolution: {integrity: sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==} + '@types/tedious@4.0.14': resolution: {integrity: sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==} @@ -8439,6 +8816,16 @@ packages: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} + ai@4.3.1: + resolution: {integrity: sha512-6RSRE0x0FAUZxWpLOq6yrh1IFXakvvJgHs8xPHtt8VmsTqhgjP5GClguaGs+KCpVbVfdygwgji7YJjOwq80suQ==} + engines: {node: '>=18'} + peerDependencies: + react: ^18 || ^19 || ^19.0.0-rc + zod: ^3.23.8 + peerDependenciesMeta: + react: + optional: true + ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: @@ -8473,6 +8860,10 @@ packages: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -8825,6 +9216,10 @@ packages: resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -8856,6 +9251,9 @@ packages: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} + chroma-js@2.6.0: + resolution: {integrity: sha512-BLHvCB9s8Z1EV4ethr6xnkl/P2YRFOGqfgvuMG/MyCbZPrTA+NeiByY6XvgF0zP4/2deU2CXnWyMa3zu1LqQ3A==} + chrome-trace-event@1.0.4: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} @@ -8889,6 +9287,10 @@ packages: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} @@ -8950,6 +9352,10 @@ packages: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} + colors@1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} + columnify@1.6.0: resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==} engines: {node: '>=8.0.0'} @@ -9088,6 +9494,9 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + cwise-compiler@1.1.3: + resolution: {integrity: sha512-WXlK/m+Di8DMMcCjcWr4i+XzcQra9eCdXIJrgh4TUgh0pIS/yJduLxS9JgefsHJ/YVLdgPtXm9r62W92MvanEQ==} + cytoscape-cose-bilkent@4.1.0: resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} peerDependencies: @@ -9391,6 +9800,9 @@ packages: didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + diff-match-patch@1.0.5: + resolution: {integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==} + diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -9399,6 +9811,10 @@ packages: resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} + diff@7.0.0: + resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} + engines: {node: '>=0.3.1'} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -9457,6 +9873,10 @@ packages: resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} + dreamopt@0.8.0: + resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==} + engines: {node: '>=0.4.0'} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -9542,9 +9962,6 @@ packages: resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} engines: {node: '>= 0.4'} - es-module-lexer@1.6.0: - resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} - es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} @@ -9866,6 +10283,9 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-myers-diff@3.2.0: + resolution: {integrity: sha512-DxNm4a3gnV35AluvqjeAV3Zx3CAySs0tsaDjnex5JhnJAa2rxEUVCwmaL2gpz42ea1B+IJorlo7XLThXUaTQog==} + fast-sha256@1.3.0: resolution: {integrity: sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ==} @@ -10148,6 +10568,10 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + graphql@16.10.0: + resolution: {integrity: sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + gray-matter@4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} @@ -10260,6 +10684,12 @@ packages: hastscript@9.0.1: resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + headers-polyfill@4.0.3: + resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==} + + heap@0.2.7: + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + hex-rgb@4.3.0: resolution: {integrity: sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==} engines: {node: '>=6'} @@ -10267,6 +10697,10 @@ packages: hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + hono@4.7.5: + resolution: {integrity: sha512-fDOK5W2C1vZACsgLONigdZTRZxuBqFtcKh7bUQ5cVSbwI2RWjloJDcgFOVzbQrlI6pCmhlTsVYZ7zpLj4m4qMQ==} + engines: {node: '>=16.9.0'} + hosted-git-info@7.0.2: resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} engines: {node: ^16.14.0 || >=18.0.0} @@ -10389,6 +10823,9 @@ packages: intersection-observer@0.12.2: resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} + iota-array@1.0.0: + resolution: {integrity: sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA==} + is-alphabetical@2.0.1: resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} @@ -10421,6 +10858,9 @@ packages: resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + is-buffer@2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} engines: {node: '>=4'} @@ -10507,6 +10947,9 @@ packages: resolution: {integrity: sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==} engines: {node: '>=16'} + is-node-process@1.2.0: + resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} + is-number-object@1.1.1: resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} @@ -10695,6 +11138,9 @@ packages: jose@5.10.0: resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==} + jpeg-js@0.4.4: + resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==} + js-base64@3.7.7: resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} @@ -10740,6 +11186,14 @@ packages: json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-diff-kit@1.0.31: + resolution: {integrity: sha512-RiDsAu48G8UDpUD31zRWpwSDwl+p/5K9LWgm/6EzS00ICkfzrhJZVWWYtmovZjvfRRPsCg41ev1l1aZXYnwU4w==} + hasBin: true + + json-diff@1.0.6: + resolution: {integrity: sha512-tcFIPRdlc35YkYdGxcamJjllUhXWv4n2rK9oJ2RsAzV4FBkuV4ojKEDgcZ+kpKxDmJKv+PFK65+1tVVOnSeEqA==} + hasBin: true + json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -10749,6 +11203,9 @@ packages: json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -10767,6 +11224,11 @@ packages: jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + jsondiffpatch@0.6.0: + resolution: {integrity: sha512-3QItJOXp2AP1uv7waBkao5nCvhEv+QmJAd38Ybq7wNI74Q+BBmnLn4EDKz6yI9xGAIQoUF87qHt+kc1IVxB4zQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} @@ -10788,6 +11250,10 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} @@ -10806,6 +11272,10 @@ packages: layout-base@1.0.2: resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + lazyness@1.2.0: + resolution: {integrity: sha512-KenL6EFbwxBwRxG93t0gcUyi0Nw0Ub31FJKN1laA4UscdkL1K1AxUd0gYZdcLU3v+x+wcFi4uQKS5hL+fk500g==} + engines: {node: '>=6.0.0'} + leac@0.6.0: resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==} @@ -10863,6 +11333,10 @@ packages: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. + lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -11355,10 +11829,29 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + msw-snapshot@5.2.0: + resolution: {integrity: sha512-vcgRtVkE8ZRoDZ5IDpaJ4Mdwx/SdwnJXMIw9gm3LYSQTQxJBUwda+txMe6Sn20cYDF3a+VpmWhhnQyZXGvAs5A==} + peerDependencies: + msw: ^2.0.0 + + msw@2.7.3: + resolution: {integrity: sha512-+mycXv8l2fEAjFZ5sjrtjJDmm2ceKGjrNbBr1durRg6VkU9fNUE/gsmQ51hWbHqs+l35W1iM+ZsmOD9Fd6lspw==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + typescript: '>= 4.8.x' + peerDependenciesMeta: + typescript: + optional: true + mustache@4.2.0: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} hasBin: true + mute-stream@2.0.0: + resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} + engines: {node: ^18.17.0 || >=20.5.0} + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -11396,6 +11889,12 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + ndarray-pack@1.2.1: + resolution: {integrity: sha512-51cECUJMT0rUZNQa09EoKsnFeDL4x2dHRT0VR5U2H5ZgEcm95ZDWcMA5JShroXjHOejmAD/fg8+H+OvUnVXz2g==} + + ndarray@1.0.19: + resolution: {integrity: sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==} + negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -11466,6 +11965,10 @@ packages: sass: optional: true + nextgen-events@1.5.3: + resolution: {integrity: sha512-P6qw6kenNXP+J9XlKJNi/MNHUQ+Lx5K8FEcSfX7/w8KJdZan5+BB5MKzuNgL2RTjHG1Svg8SehfseVEp8zAqwA==} + engines: {node: '>=6.0.0'} + nextra-theme-docs@2.13.4: resolution: {integrity: sha512-2XOoMfwBCTYBt8ds4ZHftt9Wyf2XsykiNo02eir/XEYB+sGeUoE77kzqfidjEOKCSzOHYbK9BDMcg2+B/2vYRw==} peerDependencies: @@ -11489,6 +11992,10 @@ packages: node-addon-api@7.1.1: resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-bitmap@0.0.1: + resolution: {integrity: sha512-Jx5lPaaLdIaOsj2mVLWMWulXF6GQVdyLvNSxmiYCvZ8Ma2hfKX0POoR2kgKOqz+oFsRreq0yYZjQ2wjE9VNzCA==} + engines: {node: '>=v0.6.5'} + node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -11605,6 +12112,9 @@ packages: obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + omggif@1.0.10: + resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} + on-headers@1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} engines: {node: '>= 0.8'} @@ -11649,6 +12159,9 @@ packages: orderedmap@2.1.1: resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==} + outvariant@1.4.3: + resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} + own-keys@1.0.1: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} @@ -11755,6 +12268,9 @@ packages: path-to-regexp@3.3.0: resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} + path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -12050,6 +12566,10 @@ packages: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} @@ -12062,6 +12582,9 @@ packages: prosemirror-changeset@2.2.1: resolution: {integrity: sha512-J7msc6wbxB4ekDFj+n9gTW/jav/p53kdlivvuppHsrZXCaQdVgRghoZbSS3kwrRyAstRVQ4/+u5k7YfLgkkQvQ==} + prosemirror-changeset@2.3.0: + resolution: {integrity: sha512-8wRKhlEwEJ4I13Ju54q2NZR1pVKGTgJ/8XsQ8L5A5uUsQ/YQScQJuEAuh8Bn8i6IwAMjjLRABd9lVli+DlIiVw==} + prosemirror-collab@1.3.1: resolution: {integrity: sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==} @@ -12146,8 +12669,8 @@ packages: prosemirror-state: ^1.4.2 prosemirror-view: ^1.33.8 - prosemirror-transform@1.10.3: - resolution: {integrity: sha512-Nhh/+1kZGRINbEHmVu39oynhcap4hWTs/BlU7NnxWj3+l0qi8I1mu67v6mMdEe/ltD8hHvU4FV6PHiCw2VSpMw==} + prosemirror-transform@1.10.4: + resolution: {integrity: sha512-pwDy22nAnGqNR1feOQKHxoFkkUtepoFAd3r2hbEDsnf4wp57kKA36hXsB3njA9FtONBEwSDnDeCiJe+ItD+ykw==} prosemirror-view@1.38.1: resolution: {integrity: sha512-4FH/uM1A4PNyrxXbD+RAbAsf0d/mM0D/wAKSVVWK7o0A9Q/oOXJBrw786mBf2Vnrs/Edly6dH6Z2gsb7zWwaUw==} @@ -12453,6 +12976,9 @@ packages: remark-rehype@11.1.1: resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} + remark-stringify@10.0.3: + resolution: {integrity: sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A==} + remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} @@ -12632,6 +13158,9 @@ packages: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} + secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + selderee@0.11.0: resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==} @@ -12676,6 +13205,10 @@ packages: setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + seventh@0.9.2: + resolution: {integrity: sha512-C+dnbBXIEycnrN6/CpFt/Rt8ccMzAX3wbwJU61RTfC8lYPMzSkKkAVWnUEMTZDHdvtlrTupZeCUK4G+uP4TmRQ==} + engines: {node: '>=16.13.0'} + sharp@0.33.5: resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -12756,6 +13289,9 @@ packages: resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} engines: {node: '>=18'} + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -12850,6 +13386,10 @@ packages: standardwebhooks@1.0.0: resolution: {integrity: sha512-BbHGOQK9olHPMvQNHWul6MYlrRTAOKn03rOe4A8O3CLWhNf4YHBqq2HJKKC+sfqpxiBY52pNeesD6jIiLDz8jg==} + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + std-env@3.8.1: resolution: {integrity: sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==} @@ -12861,6 +13401,13 @@ packages: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} + strict-event-emitter@0.5.1: + resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} + + string-kit@0.19.2: + resolution: {integrity: sha512-o5rhsZy4WS76+uMc4fkcQYM7dcdxe8wKCoLeLqCcGZxbUmtawkBE8G0JS6ooBnBOy+j1MpZ1IgWIuojIr71vPw==} + engines: {node: '>=14.15.0'} + string-natural-compare@3.0.1: resolution: {integrity: sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==} @@ -12992,6 +13539,11 @@ packages: svg-arc-to-cubic-bezier@3.2.0: resolution: {integrity: sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==} + swr@2.3.3: + resolution: {integrity: sha512-dshNvs3ExOqtZ6kJBaAsabhPdHyeY4P2cKwRCniDVifBMoG/SVI7tfLWqPXriVspf2Rg4tPzXJTnwaihIeFw2A==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -13030,6 +13582,10 @@ packages: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} + terminal-kit@3.1.2: + resolution: {integrity: sha512-ro2FyU4A+NwA74DLTYTnoCFYuFpgV1aM07IS6MPrJeajoI2hwF44EdUqjoTmKEl6srYDWtbVkc/b1C16iUnxFQ==} + engines: {node: '>=16.13.0'} + terser-webpack-plugin@5.3.14: resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} engines: {node: '>= 10.13.0'} @@ -13061,6 +13617,10 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + throttleit@2.1.0: + resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} + engines: {node: '>=18'} + tiny-inflate@1.0.3: resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} @@ -13145,6 +13705,10 @@ packages: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true + tree-kit@0.8.8: + resolution: {integrity: sha512-L7zwpXp0/Nha6mljVcVOnhhxuCkFRWmt26wza3TKnyMBewid4F2vyiVdcSsw41ZoG1Wj+3lM48Er9lhttbxfLA==} + engines: {node: '>=16.13.0'} + trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -13196,6 +13760,10 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + type-fest@0.7.1: resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} engines: {node: '>=8'} @@ -13256,6 +13824,10 @@ packages: resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} engines: {node: '>=14.0'} + undici@6.21.2: + resolution: {integrity: sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g==} + engines: {node: '>=18.17'} + unicode-canonical-property-names-ecmascript@2.0.1: resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} @@ -13284,6 +13856,9 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + uniq@1.0.1: + resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} + unist-util-find-after@5.0.0: resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} @@ -13671,11 +14246,18 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + workerd@1.20240129.0: resolution: {integrity: sha512-t4pnsmjjk/u+GdVDgH2M1AFmJaBUABshYK/vT/HNrAXsHSwN6VR8Yqw0JQ845OokO34VLkuUtYQYyxHHKpdtsw==} engines: {node: '>=16'} hasBin: true + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -13816,6 +14398,10 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + yoctocolors-cjs@2.1.2: + resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} + engines: {node: '>=18'} + yoga-layout@3.2.1: resolution: {integrity: sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==} @@ -13825,14 +14411,83 @@ packages: youch@3.3.4: resolution: {integrity: sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==} + zod-to-json-schema@3.24.5: + resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} + peerDependencies: + zod: ^3.24.1 + zod@3.24.2: resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==} + zustand@5.0.3: + resolution: {integrity: sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=18.0.0' + immer: '>=9.0.6' + react: '>=18.0.0' + use-sync-external-store: '>=1.2.0' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: + '@ai-sdk/groq@1.2.4(zod@3.24.2)': + dependencies: + '@ai-sdk/provider': 1.1.0 + '@ai-sdk/provider-utils': 2.2.4(zod@3.24.2) + zod: 3.24.2 + + '@ai-sdk/openai-compatible@0.2.6(zod@3.24.2)': + dependencies: + '@ai-sdk/provider': 1.1.0 + '@ai-sdk/provider-utils': 2.2.4(zod@3.24.2) + zod: 3.24.2 + + '@ai-sdk/openai@1.3.7(zod@3.24.2)': + dependencies: + '@ai-sdk/provider': 1.1.0 + '@ai-sdk/provider-utils': 2.2.4(zod@3.24.2) + zod: 3.24.2 + + '@ai-sdk/provider-utils@2.2.4(zod@3.24.2)': + dependencies: + '@ai-sdk/provider': 1.1.0 + nanoid: 3.3.11 + secure-json-parse: 2.7.0 + zod: 3.24.2 + + '@ai-sdk/provider@1.1.0': + dependencies: + json-schema: 0.4.0 + + '@ai-sdk/react@1.2.6(react@18.3.1)(zod@3.24.2)': + dependencies: + '@ai-sdk/provider-utils': 2.2.4(zod@3.24.2) + '@ai-sdk/ui-utils': 1.2.5(zod@3.24.2) + react: 18.3.1 + swr: 2.3.3(react@18.3.1) + throttleit: 2.1.0 + optionalDependencies: + zod: 3.24.2 + + '@ai-sdk/ui-utils@1.2.5(zod@3.24.2)': + dependencies: + '@ai-sdk/provider': 1.1.0 + '@ai-sdk/provider-utils': 2.2.4(zod@3.24.2) + zod: 3.24.2 + zod-to-json-schema: 3.24.5(zod@3.24.2) + '@alloc/quick-lru@5.2.0': {} '@ampproject/remapping@2.3.0': @@ -15201,6 +15856,19 @@ snapshots: '@braintree/sanitize-url@6.0.4': {} + '@bundled-es-modules/cookie@2.0.1': + dependencies: + cookie: 0.7.2 + + '@bundled-es-modules/statuses@1.0.1': + dependencies: + statuses: 2.0.1 + + '@bundled-es-modules/tough-cookie@0.1.6': + dependencies: + '@types/tough-cookie': 4.0.5 + tough-cookie: 4.1.4 + '@cloudflare/workerd-darwin-64@1.20240129.0': optional: true @@ -15218,6 +15886,16 @@ snapshots: '@cloudflare/workers-types@4.20240129.0': {} + '@cronvel/get-pixels@3.4.1': + dependencies: + jpeg-js: 0.4.4 + ndarray: 1.0.19 + ndarray-pack: 1.2.1 + node-bitmap: 0.0.1 + omggif: 1.0.10 + pngjs: 6.0.0 + optional: true + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 @@ -15668,6 +16346,10 @@ snapshots: '@eslint/js@8.57.1': {} + '@ewoudenberg/difflib@0.1.0': + dependencies: + heap: 0.2.7 + '@fastify/busboy@2.1.1': {} '@floating-ui/core@1.6.9': @@ -15695,6 +16377,13 @@ snapshots: '@floating-ui/utils@0.2.9': {} + '@handlewithcare/prosemirror-suggest-changes@0.1.3(prosemirror-model@1.25.0)(prosemirror-state@1.4.3)(prosemirror-transform@1.10.4)(prosemirror-view@1.38.1)': + dependencies: + prosemirror-model: 1.25.0 + prosemirror-state: 1.4.3 + prosemirror-transform: 1.10.4 + prosemirror-view: 1.38.1 + '@hapi/hoek@9.3.0': {} '@hapi/topo@5.1.0': @@ -15730,6 +16419,10 @@ snapshots: - bufferutil - utf-8-validate + '@hono/node-server@1.14.0(hono@4.7.5)': + dependencies: + hono: 4.7.5 + '@hookform/resolvers@3.10.0(react-hook-form@7.54.2(react@18.3.1))': dependencies: react-hook-form: 7.54.2(react@18.3.1) @@ -15899,6 +16592,59 @@ snapshots: '@img/sharp-win32-x64@0.34.1': optional: true + '@inquirer/confirm@5.1.9(@types/node@20.17.28)': + dependencies: + '@inquirer/core': 10.1.10(@types/node@20.17.28) + '@inquirer/type': 3.0.6(@types/node@20.17.28) + optionalDependencies: + '@types/node': 20.17.28 + optional: true + + '@inquirer/confirm@5.1.9(@types/node@22.14.1)': + dependencies: + '@inquirer/core': 10.1.10(@types/node@22.14.1) + '@inquirer/type': 3.0.6(@types/node@22.14.1) + optionalDependencies: + '@types/node': 22.14.1 + + '@inquirer/core@10.1.10(@types/node@20.17.28)': + dependencies: + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.6(@types/node@20.17.28) + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 20.17.28 + optional: true + + '@inquirer/core@10.1.10(@types/node@22.14.1)': + dependencies: + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.6(@types/node@22.14.1) + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.14.1 + + '@inquirer/figures@1.0.11': {} + + '@inquirer/type@3.0.6(@types/node@20.17.28)': + optionalDependencies: + '@types/node': 20.17.28 + optional: true + + '@inquirer/type@3.0.6(@types/node@22.14.1)': + optionalDependencies: + '@types/node': 22.14.1 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -16124,6 +16870,15 @@ snapshots: '@types/react': 18.3.20 react: 18.3.1 + '@mswjs/interceptors@0.37.6': + dependencies: + '@open-draft/deferred-promise': 2.2.0 + '@open-draft/logger': 0.3.0 + '@open-draft/until': 2.1.0 + is-node-process: 1.2.0 + outvariant: 1.4.3 + strict-event-emitter: 0.5.1 + '@mui/core-downloads-tracker@5.17.1': {} '@mui/icons-material@5.17.1(@mui/material@5.17.1(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(@types/react@18.3.20)(react@18.3.1))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.20)(react@18.3.1)': @@ -16460,6 +17215,15 @@ snapshots: - '@swc/core' - debug + '@open-draft/deferred-promise@2.2.0': {} + + '@open-draft/logger@0.3.0': + dependencies: + is-node-process: 1.2.0 + outvariant: 1.4.3 + + '@open-draft/until@2.1.0': {} + '@opentelemetry/api-logs@0.57.2': dependencies: '@opentelemetry/api': 1.9.0 @@ -18257,7 +19021,7 @@ snapshots: prosemirror-state: 1.4.3 prosemirror-tables: 1.6.4 prosemirror-trailing-node: 3.0.0(prosemirror-model@1.25.0)(prosemirror-state@1.4.3)(prosemirror-view@1.38.1) - prosemirror-transform: 1.10.3 + prosemirror-transform: 1.10.4 prosemirror-view: 1.38.1 '@tiptap/react@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': @@ -18320,6 +19084,8 @@ snapshots: dependencies: '@types/node': 20.17.30 + '@types/cookie@0.6.0': {} + '@types/cors@2.8.17': dependencies: '@types/node': 20.17.30 @@ -18336,6 +19102,10 @@ snapshots: dependencies: '@types/ms': 2.1.0 + '@types/diff-match-patch@1.0.36': {} + + '@types/diff@6.0.0': {} + '@types/emoji-mart@3.0.14': dependencies: '@types/react': 19.1.2 @@ -18400,6 +19170,8 @@ snapshots: '@types/tough-cookie': 4.0.5 parse5: 7.2.1 + '@types/json-diff@1.0.3': {} + '@types/json-schema@7.0.15': {} '@types/json5@0.0.29': {} @@ -18416,6 +19188,10 @@ snapshots: dependencies: '@types/lodash': 4.17.16 + '@types/lodash.isequal@4.5.8': + dependencies: + '@types/lodash': 4.17.16 + '@types/lodash.merge@4.6.9': dependencies: '@types/lodash': 4.17.16 @@ -18515,6 +19291,8 @@ snapshots: '@types/stack-utils@2.0.3': {} + '@types/statuses@2.0.5': {} + '@types/tedious@4.0.14': dependencies: '@types/node': 20.17.30 @@ -18843,20 +19621,22 @@ snapshots: chai: 5.2.0 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.9(vite@5.4.15(@types/node@20.17.28)(terser@5.39.0))': + '@vitest/mocker@2.1.9(msw@2.7.3(@types/node@20.17.28)(typescript@5.8.2))(vite@5.4.15(@types/node@20.17.28)(terser@5.39.0))': dependencies: '@vitest/spy': 2.1.9 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: + msw: 2.7.3(@types/node@20.17.28)(typescript@5.8.2) vite: 5.4.15(@types/node@20.17.28)(terser@5.39.0) - '@vitest/mocker@2.1.9(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0))': + '@vitest/mocker@2.1.9(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0))': dependencies: '@vitest/spy': 2.1.9 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: + msw: 2.7.3(@types/node@22.14.1)(typescript@5.8.2) vite: 5.4.15(@types/node@22.14.1)(terser@5.39.0) '@vitest/pretty-format@2.1.9': @@ -18887,7 +19667,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.12 tinyrainbow: 1.2.0 - vitest: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(terser@5.39.0) + vitest: 2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(terser@5.39.0) '@vitest/utils@2.1.9': dependencies: @@ -19049,6 +19829,18 @@ snapshots: agent-base@7.1.3: {} + ai@4.3.1(react@18.3.1)(zod@3.24.2): + dependencies: + '@ai-sdk/provider': 1.1.0 + '@ai-sdk/provider-utils': 2.2.4(zod@3.24.2) + '@ai-sdk/react': 1.2.6(react@18.3.1)(zod@3.24.2) + '@ai-sdk/ui-utils': 1.2.5(zod@3.24.2) + '@opentelemetry/api': 1.9.0 + jsondiffpatch: 0.6.0 + zod: 3.24.2 + optionalDependencies: + react: 18.3.1 + ajv-formats@2.1.1(ajv@8.17.1): optionalDependencies: ajv: 8.17.1 @@ -19089,6 +19881,10 @@ snapshots: ansi-colors@4.1.3: {} + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + ansi-regex@5.0.1: {} ansi-regex@6.1.0: {} @@ -19527,6 +20323,8 @@ snapshots: chalk@5.0.1: {} + chalk@5.4.1: {} + character-entities-html4@2.1.0: {} character-entities-legacy@3.0.0: {} @@ -19558,6 +20356,9 @@ snapshots: chownr@2.0.0: optional: true + chroma-js@2.6.0: + optional: true + chrome-trace-event@1.0.4: {} ci-info@3.9.0: {} @@ -19580,6 +20381,8 @@ snapshots: cli-spinners@2.9.2: {} + cli-width@4.1.0: {} + client-only@0.0.1: {} clipboardy@1.2.2: @@ -19649,6 +20452,8 @@ snapshots: color-string: 1.9.1 optional: true + colors@1.4.0: {} + columnify@1.6.0: dependencies: strip-ansi: 6.0.1 @@ -19783,6 +20588,11 @@ snapshots: csstype@3.1.3: {} + cwise-compiler@1.1.3: + dependencies: + uniq: 1.0.1 + optional: true + cytoscape-cose-bilkent@4.1.0(cytoscape@3.31.1): dependencies: cose-base: 1.0.3 @@ -20090,10 +20900,14 @@ snapshots: didyoumean@1.2.2: {} + diff-match-patch@1.0.5: {} + diff-sequences@29.6.3: {} diff@5.2.0: {} + diff@7.0.0: {} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -20156,6 +20970,10 @@ snapshots: dotenv@16.4.7: {} + dreamopt@0.8.0: + dependencies: + wordwrap: 1.0.0 + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -20305,8 +21123,6 @@ snapshots: iterator.prototype: 1.1.5 safe-array-concat: 1.1.3 - es-module-lexer@1.6.0: {} - es-module-lexer@1.7.0: {} es-object-atoms@1.1.1: @@ -20465,7 +21281,7 @@ snapshots: '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.8.2) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))(eslint@8.57.1) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) eslint-plugin-react: 7.37.4(eslint@8.57.1) @@ -20512,7 +21328,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0)(eslint@8.57.1): + eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))(eslint@8.57.1): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.0 @@ -20527,14 +21343,14 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.8.2) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))(eslint@8.57.1) transitivePeerDependencies: - supports-color @@ -20557,7 +21373,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -20830,6 +21646,8 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-myers-diff@3.2.0: {} + fast-sha256@1.3.0: {} fast-uri@3.0.6: {} @@ -21125,6 +21943,8 @@ snapshots: graphemer@1.4.0: {} + graphql@16.10.0: {} + gray-matter@4.0.3: dependencies: js-yaml: 3.14.1 @@ -21352,12 +22172,18 @@ snapshots: property-information: 7.0.0 space-separated-tokens: 2.0.2 + headers-polyfill@4.0.3: {} + + heap@0.2.7: {} + hex-rgb@4.3.0: {} hoist-non-react-statics@3.3.2: dependencies: react-is: 16.13.1 + hono@4.7.5: {} + hosted-git-info@7.0.2: dependencies: lru-cache: 10.4.3 @@ -21485,6 +22311,9 @@ snapshots: intersection-observer@0.12.2: {} + iota-array@1.0.0: + optional: true + is-alphabetical@2.0.1: {} is-alphanumerical@2.0.1: @@ -21523,6 +22352,9 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 + is-buffer@1.1.6: + optional: true + is-buffer@2.0.5: {} is-bun-module@2.0.0: @@ -21589,6 +22421,8 @@ snapshots: is-network-error@1.1.0: {} + is-node-process@1.2.0: {} + is-number-object@1.1.1: dependencies: call-bound: 1.0.4 @@ -21791,6 +22625,9 @@ snapshots: jose@5.10.0: {} + jpeg-js@0.4.4: + optional: true + js-base64@3.7.7: {} js-tokens@4.0.0: {} @@ -21875,12 +22712,29 @@ snapshots: json-buffer@3.0.1: {} + json-diff-kit@1.0.31: + dependencies: + commander: 11.1.0 + fast-myers-diff: 3.2.0 + lodash: 4.17.21 + prompts: 2.4.2 + optionalDependencies: + terminal-kit: 3.1.2 + + json-diff@1.0.6: + dependencies: + '@ewoudenberg/difflib': 0.1.0 + colors: 1.4.0 + dreamopt: 0.8.0 + json-parse-even-better-errors@2.3.1: {} json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} + json-schema@0.4.0: {} + json-stable-stringify-without-jsonify@1.0.1: {} json5@1.0.2: @@ -21893,6 +22747,12 @@ snapshots: jsonc-parser@3.3.1: {} + jsondiffpatch@0.6.0: + dependencies: + '@types/diff-match-patch': 1.0.36 + chalk: 5.4.1 + diff-match-patch: 1.0.5 + jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.8 @@ -21919,6 +22779,8 @@ snapshots: kind-of@6.0.3: {} + kleur@3.0.3: {} + kleur@4.1.5: {} kysely@0.27.6: {} @@ -21931,6 +22793,9 @@ snapshots: layout-base@1.0.2: {} + lazyness@1.2.0: + optional: true + leac@0.6.0: {} levn@0.4.1: @@ -21981,6 +22846,8 @@ snapshots: lodash.get@4.4.2: {} + lodash.isequal@4.5.0: {} + lodash.merge@4.6.2: {} lodash@4.17.21: {} @@ -22933,8 +23800,65 @@ snapshots: ms@2.1.3: {} + msw-snapshot@5.2.0(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2)): + dependencies: + msw: 2.7.3(@types/node@22.14.1)(typescript@5.8.2) + + msw@2.7.3(@types/node@20.17.28)(typescript@5.8.2): + dependencies: + '@bundled-es-modules/cookie': 2.0.1 + '@bundled-es-modules/statuses': 1.0.1 + '@bundled-es-modules/tough-cookie': 0.1.6 + '@inquirer/confirm': 5.1.9(@types/node@20.17.28) + '@mswjs/interceptors': 0.37.6 + '@open-draft/deferred-promise': 2.2.0 + '@open-draft/until': 2.1.0 + '@types/cookie': 0.6.0 + '@types/statuses': 2.0.5 + graphql: 16.10.0 + headers-polyfill: 4.0.3 + is-node-process: 1.2.0 + outvariant: 1.4.3 + path-to-regexp: 6.3.0 + picocolors: 1.1.1 + strict-event-emitter: 0.5.1 + type-fest: 4.38.0 + yargs: 17.7.2 + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - '@types/node' + optional: true + + msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2): + dependencies: + '@bundled-es-modules/cookie': 2.0.1 + '@bundled-es-modules/statuses': 1.0.1 + '@bundled-es-modules/tough-cookie': 0.1.6 + '@inquirer/confirm': 5.1.9(@types/node@22.14.1) + '@mswjs/interceptors': 0.37.6 + '@open-draft/deferred-promise': 2.2.0 + '@open-draft/until': 2.1.0 + '@types/cookie': 0.6.0 + '@types/statuses': 2.0.5 + graphql: 16.10.0 + headers-polyfill: 4.0.3 + is-node-process: 1.2.0 + outvariant: 1.4.3 + path-to-regexp: 6.3.0 + picocolors: 1.1.1 + strict-event-emitter: 0.5.1 + type-fest: 4.38.0 + yargs: 17.7.2 + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - '@types/node' + mustache@4.2.0: {} + mute-stream@2.0.0: {} + mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -22960,6 +23884,18 @@ snapshots: natural-compare@1.4.0: {} + ndarray-pack@1.2.1: + dependencies: + cwise-compiler: 1.1.3 + ndarray: 1.0.19 + optional: true + + ndarray@1.0.19: + dependencies: + iota-array: 1.0.0 + is-buffer: 1.1.6 + optional: true + negotiator@0.6.3: {} neo-async@2.6.2: {} @@ -23041,6 +23977,9 @@ snapshots: - '@babel/core' - babel-plugin-macros + nextgen-events@1.5.3: + optional: true + nextra-theme-docs@2.13.4(next@15.3.1(@babel/core@7.26.10)(@opentelemetry/api@1.9.0)(@playwright/test@1.51.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(nextra@2.13.4(next@15.3.1(@babel/core@7.26.10)(@opentelemetry/api@1.9.0)(@playwright/test@1.51.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@headlessui/react': 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -23101,6 +24040,9 @@ snapshots: node-addon-api@7.1.1: {} + node-bitmap@0.0.1: + optional: true + node-fetch@2.7.0(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 @@ -23255,6 +24197,9 @@ snapshots: obuf@1.1.2: {} + omggif@1.0.10: + optional: true + on-headers@1.0.2: {} once@1.4.0: @@ -23320,6 +24265,8 @@ snapshots: orderedmap@2.1.1: {} + outvariant@1.4.3: {} + own-keys@1.0.1: dependencies: get-intrinsic: 1.3.0 @@ -23437,6 +24384,8 @@ snapshots: path-to-regexp@3.3.0: {} + path-to-regexp@6.3.0: {} + path-type@4.0.0: {} path2d@0.2.2: @@ -23657,6 +24606,11 @@ snapshots: progress@2.0.3: {} + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + prop-types@15.8.1: dependencies: loose-envify: 1.4.0 @@ -23669,7 +24623,11 @@ snapshots: prosemirror-changeset@2.2.1: dependencies: - prosemirror-transform: 1.10.3 + prosemirror-transform: 1.10.4 + + prosemirror-changeset@2.3.0: + dependencies: + prosemirror-transform: 1.10.4 prosemirror-collab@1.3.1: dependencies: @@ -23679,12 +24637,12 @@ snapshots: dependencies: prosemirror-model: 1.25.0 prosemirror-state: 1.4.3 - prosemirror-transform: 1.10.3 + prosemirror-transform: 1.10.4 prosemirror-dropcursor@1.8.1: dependencies: prosemirror-state: 1.4.3 - prosemirror-transform: 1.10.3 + prosemirror-transform: 1.10.4 prosemirror-view: 1.38.1 prosemirror-gapcursor@1.3.2: @@ -23694,26 +24652,26 @@ snapshots: prosemirror-state: 1.4.3 prosemirror-view: 1.38.1 - prosemirror-highlight@0.13.0(@shikijs/types@3.2.1)(@types/hast@3.0.4)(prosemirror-model@1.25.0)(prosemirror-state@1.4.3)(prosemirror-transform@1.10.3)(prosemirror-view@1.38.1): + prosemirror-highlight@0.13.0(@shikijs/types@3.2.1)(@types/hast@3.0.4)(prosemirror-model@1.25.0)(prosemirror-state@1.4.3)(prosemirror-transform@1.10.4)(prosemirror-view@1.38.1): optionalDependencies: '@shikijs/types': 3.2.1 '@types/hast': 3.0.4 prosemirror-model: 1.25.0 prosemirror-state: 1.4.3 - prosemirror-transform: 1.10.3 + prosemirror-transform: 1.10.4 prosemirror-view: 1.38.1 prosemirror-history@1.4.1: dependencies: prosemirror-state: 1.4.3 - prosemirror-transform: 1.10.3 + prosemirror-transform: 1.10.4 prosemirror-view: 1.38.1 rope-sequence: 1.3.4 prosemirror-inputrules@1.5.0: dependencies: prosemirror-state: 1.4.3 - prosemirror-transform: 1.10.3 + prosemirror-transform: 1.10.4 prosemirror-keymap@1.2.2: dependencies: @@ -23745,12 +24703,12 @@ snapshots: dependencies: prosemirror-model: 1.25.0 prosemirror-state: 1.4.3 - prosemirror-transform: 1.10.3 + prosemirror-transform: 1.10.4 prosemirror-state@1.4.3: dependencies: prosemirror-model: 1.25.0 - prosemirror-transform: 1.10.3 + prosemirror-transform: 1.10.4 prosemirror-view: 1.38.1 prosemirror-tables@1.6.4: @@ -23758,7 +24716,7 @@ snapshots: prosemirror-keymap: 1.2.2 prosemirror-model: 1.25.0 prosemirror-state: 1.4.3 - prosemirror-transform: 1.10.3 + prosemirror-transform: 1.10.4 prosemirror-view: 1.38.1 prosemirror-trailing-node@3.0.0(prosemirror-model@1.25.0)(prosemirror-state@1.4.3)(prosemirror-view@1.38.1): @@ -23769,7 +24727,7 @@ snapshots: prosemirror-state: 1.4.3 prosemirror-view: 1.38.1 - prosemirror-transform@1.10.3: + prosemirror-transform@1.10.4: dependencies: prosemirror-model: 1.25.0 @@ -23777,7 +24735,7 @@ snapshots: dependencies: prosemirror-model: 1.25.0 prosemirror-state: 1.4.3 - prosemirror-transform: 1.10.3 + prosemirror-transform: 1.10.4 protocols@2.0.2: {} @@ -24197,6 +25155,12 @@ snapshots: unified: 11.0.5 vfile: 6.0.3 + remark-stringify@10.0.3: + dependencies: + '@types/mdast': 3.0.15 + mdast-util-to-markdown: 1.5.0 + unified: 10.1.2 + remark-stringify@11.0.0: dependencies: '@types/mdast': 4.0.4 @@ -24403,6 +25367,8 @@ snapshots: extend-shallow: 2.0.1 kind-of: 6.0.3 + secure-json-parse@2.7.0: {} + selderee@0.11.0: dependencies: parseley: 0.12.1 @@ -24470,6 +25436,11 @@ snapshots: setimmediate@1.0.5: {} + seventh@0.9.2: + dependencies: + setimmediate: 1.0.5 + optional: true + sharp@0.33.5: dependencies: color: 4.2.3 @@ -24613,6 +25584,8 @@ snapshots: mrmime: 2.0.1 totalist: 3.0.1 + sisteransi@1.0.5: {} + slash@3.0.0: {} slate-history@0.110.3(slate@0.110.2): @@ -24726,12 +25699,19 @@ snapshots: '@stablelib/base64': 1.0.1 fast-sha256: 1.3.0 + statuses@2.0.1: {} + std-env@3.8.1: {} stoppable@1.1.0: {} streamsearch@1.1.0: {} + strict-event-emitter@0.5.1: {} + + string-kit@0.19.2: + optional: true + string-natural-compare@3.0.1: {} string-width@4.2.3: @@ -24876,6 +25856,12 @@ snapshots: svg-arc-to-cubic-bezier@3.2.0: {} + swr@2.3.3(react@18.3.1): + dependencies: + dequal: 2.0.3 + react: 18.3.1 + use-sync-external-store: 1.4.0(react@18.3.1) + symbol-tree@3.2.4: {} system-architecture@0.1.0: {} @@ -24942,6 +25928,18 @@ snapshots: yallist: 4.0.0 optional: true + terminal-kit@3.1.2: + dependencies: + '@cronvel/get-pixels': 3.4.1 + chroma-js: 2.6.0 + lazyness: 1.2.0 + ndarray: 1.0.19 + nextgen-events: 1.5.3 + seventh: 0.9.2 + string-kit: 0.19.2 + tree-kit: 0.8.8 + optional: true + terser-webpack-plugin@5.3.14(webpack@5.98.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -24968,6 +25966,8 @@ snapshots: dependencies: any-promise: 1.3.0 + throttleit@2.1.0: {} + tiny-inflate@1.0.3: {} tiny-invariant@1.3.1: {} @@ -25039,6 +26039,9 @@ snapshots: tree-kill@1.2.2: {} + tree-kit@0.8.8: + optional: true + trim-lines@3.0.1: {} trim-trailing-lines@2.1.0: {} @@ -25088,6 +26091,8 @@ snapshots: type-fest@0.20.2: {} + type-fest@0.21.3: {} + type-fest@0.7.1: {} type-fest@1.4.0: {} @@ -25153,6 +26158,8 @@ snapshots: dependencies: '@fastify/busboy': 2.1.1 + undici@6.21.2: {} + unicode-canonical-property-names-ecmascript@2.0.1: {} unicode-match-property-ecmascript@2.0.0: @@ -25194,6 +26201,9 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 + uniq@1.0.1: + optional: true + unist-util-find-after@5.0.0: dependencies: '@types/unist': 3.0.3 @@ -25423,7 +26433,7 @@ snapshots: dependencies: cac: 6.7.14 debug: 4.4.0 - es-module-lexer: 1.6.0 + es-module-lexer: 1.7.0 pathe: 1.1.2 vite: 5.4.15(@types/node@20.17.28)(terser@5.39.0) transitivePeerDependencies: @@ -25441,7 +26451,7 @@ snapshots: dependencies: cac: 6.7.14 debug: 4.4.0 - es-module-lexer: 1.6.0 + es-module-lexer: 1.7.0 pathe: 1.1.2 vite: 5.4.15(@types/node@22.14.1)(terser@5.39.0) transitivePeerDependencies: @@ -25508,10 +26518,10 @@ snapshots: transitivePeerDependencies: - supports-color - vitest@2.1.9(@types/node@20.17.28)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(terser@5.39.0): + vitest@2.1.9(@types/node@20.17.28)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@20.17.28)(typescript@5.8.2))(terser@5.39.0): dependencies: '@vitest/expect': 2.1.9 - '@vitest/mocker': 2.1.9(vite@5.4.15(@types/node@20.17.28)(terser@5.39.0)) + '@vitest/mocker': 2.1.9(msw@2.7.3(@types/node@20.17.28)(typescript@5.8.2))(vite@5.4.15(@types/node@20.17.28)(terser@5.39.0)) '@vitest/pretty-format': 2.1.9 '@vitest/runner': 2.1.9 '@vitest/snapshot': 2.1.9 @@ -25545,10 +26555,10 @@ snapshots: - supports-color - terser - vitest@2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@21.1.2(canvas@2.11.2(encoding@0.1.13)))(terser@5.39.0): + vitest@2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@21.1.2(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(terser@5.39.0): dependencies: '@vitest/expect': 2.1.9 - '@vitest/mocker': 2.1.9(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) + '@vitest/mocker': 2.1.9(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) '@vitest/pretty-format': 2.1.9 '@vitest/runner': 2.1.9 '@vitest/snapshot': 2.1.9 @@ -25582,10 +26592,10 @@ snapshots: - supports-color - terser - vitest@2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(terser@5.39.0): + vitest@2.1.9(@types/node@22.14.1)(@vitest/ui@2.1.9)(jsdom@25.0.1(canvas@2.11.2(encoding@0.1.13)))(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(terser@5.39.0): dependencies: '@vitest/expect': 2.1.9 - '@vitest/mocker': 2.1.9(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) + '@vitest/mocker': 2.1.9(msw@2.7.3(@types/node@22.14.1)(typescript@5.8.2))(vite@5.4.15(@types/node@22.14.1)(terser@5.39.0)) '@vitest/pretty-format': 2.1.9 '@vitest/runner': 2.1.9 '@vitest/snapshot': 2.1.9 @@ -25807,6 +26817,8 @@ snapshots: word-wrap@1.2.5: {} + wordwrap@1.0.0: {} + workerd@1.20240129.0: optionalDependencies: '@cloudflare/workerd-darwin-64': 1.20240129.0 @@ -25815,6 +26827,12 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20240129.0 '@cloudflare/workerd-windows-64': 1.20240129.0 + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 @@ -25913,6 +26931,8 @@ snapshots: yocto-queue@0.1.0: {} + yoctocolors-cjs@2.1.2: {} + yoga-layout@3.2.1: {} yoga-wasm-web@0.3.3: {} @@ -25923,6 +26943,17 @@ snapshots: mustache: 4.2.0 stacktracey: 2.1.8 + zod-to-json-schema@3.24.5(zod@3.24.2): + dependencies: + zod: 3.24.2 + zod@3.24.2: {} + zustand@5.0.3(@types/react@18.3.20)(immer@10.1.1)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)): + optionalDependencies: + '@types/react': 18.3.20 + immer: 10.1.1 + react: 18.3.1 + use-sync-external-store: 1.4.0(react@18.3.1) + zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index bea66b1ad4..8e061a287e 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -3,7 +3,6 @@ packages: - "examples/*/*" - "playground" - "docs" - - "shared" - "tests" preferWorkspacePackages: true linkWorkspacePackages: true diff --git a/shared/formatConversionTestUtil.ts b/shared/formatConversionTestUtil.ts index a71cdbda08..5a9c95f090 100644 --- a/shared/formatConversionTestUtil.ts +++ b/shared/formatConversionTestUtil.ts @@ -1,3 +1,5 @@ +// TODO: remove duplicate file + import { Block, BlockNoteSchema, @@ -17,7 +19,7 @@ import { } from "@blocknote/core"; function textShorthandToStyledText( - content: string | StyledText[] = "" + content: string | StyledText[] = "", ): StyledText[] { if (typeof content === "string") { return [ @@ -36,7 +38,7 @@ function partialContentToInlineContent( | PartialInlineContent | PartialTableCell | TableContent - | undefined + | undefined, ): | InlineContent[] | TableContent @@ -73,12 +75,22 @@ function partialContentToInlineContent( columnWidths: content.columnWidths, headerRows: content.headerRows, headerCols: content.headerCols, - rows: content.rows.map((row) => ({ - ...row, - cells: row.cells.map( - (cell) => partialContentToInlineContent(cell) as any - ), - })), + rows: content.rows.map((row) => { + const cells: any[] = row.cells.map((cell) => { + if (!("type" in cell) || cell.type !== "tableCell") { + return partialContentToInlineContent({ + type: "tableCell", + content: cell as any, + }); + } + return partialContentToInlineContent(cell); + }); + + return { + ...row, + cells, + }; + }), }; } else if (content?.type === "tableCell") { return { @@ -100,23 +112,23 @@ function partialContentToInlineContent( export function partialBlocksToBlocksForTesting< BSchema extends BlockSchema, I extends InlineContentSchema, - S extends StyleSchema + S extends StyleSchema, >( schema: BlockNoteSchema, - partialBlocks: Array, NoInfer, NoInfer>> + partialBlocks: Array, NoInfer, NoInfer>>, ): Array> { return partialBlocks.map((partialBlock) => - partialBlockToBlockForTesting(schema.blockSchema, partialBlock) + partialBlockToBlockForTesting(schema.blockSchema, partialBlock), ); } export function partialBlockToBlockForTesting< BSchema extends BlockSchema, I extends InlineContentSchema, - S extends StyleSchema + S extends StyleSchema, >( schema: BSchema, - partialBlock: PartialBlock + partialBlock: PartialBlock, ): Block { const contentType: "inline" | "table" | "none" = schema[partialBlock.type!].content; @@ -129,14 +141,14 @@ export function partialBlockToBlockForTesting< contentType === "inline" ? [] : contentType === "table" - ? { - type: "tableContent", - columnWidths: undefined, - headerRows: undefined, - headerCols: undefined, - rows: [], - } - : (undefined as any), + ? { + type: "tableContent", + columnWidths: undefined, + headerRows: undefined, + headerCols: undefined, + rows: [], + } + : (undefined as any), children: [] as any, ...partialBlock, }; @@ -149,7 +161,7 @@ export function partialBlockToBlockForTesting< ) { (withDefaults.props as any)[propKey] = propValue.default; } - } + }, ); if (contentType === "inline") { diff --git a/shared/testing/editorSchemas/mention.ts b/shared/testing/editorSchemas/mention.ts new file mode 100644 index 0000000000..743e34948a --- /dev/null +++ b/shared/testing/editorSchemas/mention.ts @@ -0,0 +1,34 @@ +import { + BlockNoteSchema, + createInlineContentSpec, + defaultInlineContentSpecs, +} from "@blocknote/core"; + +export const mention = createInlineContentSpec( + { + type: "mention", + propSchema: { + user: { + default: "", + }, + }, + content: "none", + }, + { + render: (inlineContent) => { + const mention = document.createElement("span"); + mention.textContent = `@${inlineContent.props.user}`; + + return { + dom: mention, + }; + }, + } +); + +export const schemaWithMention = BlockNoteSchema.create({ + inlineContentSpecs: { + mention, + ...defaultInlineContentSpecs, + }, +}); diff --git a/shared/util/binaryFileSnapshotUtil.ts b/shared/util/binaryFileSnapshotUtil.ts index d3857b5666..282ad4a186 100644 --- a/shared/util/binaryFileSnapshotUtil.ts +++ b/shared/util/binaryFileSnapshotUtil.ts @@ -54,7 +54,7 @@ export async function toMatchBinaryFileSnapshot( ? fs.readFileSync(filepath) : undefined; - const same = fileBuffer && buffer.equals(fileBuffer); // && bufferMD5 === fileMD5; + const same = fileBuffer && buffer.equals(fileBuffer as any);// TODO // && bufferMD5 === fileMD5; const option = getSnapshotOptions(); @@ -69,5 +69,5 @@ export async function toMatchBinaryFileSnapshot( // create dir if not exists fs.mkdirSync(path.dirname(filepath), { recursive: true }); - fs.writeFileSync(filepath, buffer); + fs.writeFileSync(filepath, buffer as any); // TODO } diff --git a/tests/src/unit/core/formatConversion/formatConversionTestUtil.ts b/tests/src/unit/core/formatConversion/formatConversionTestUtil.ts index a71cdbda08..8eea1129df 100644 --- a/tests/src/unit/core/formatConversion/formatConversionTestUtil.ts +++ b/tests/src/unit/core/formatConversion/formatConversionTestUtil.ts @@ -1,3 +1,5 @@ +// TODO: remove duplicate file + import { Block, BlockNoteSchema, @@ -17,7 +19,7 @@ import { } from "@blocknote/core"; function textShorthandToStyledText( - content: string | StyledText[] = "" + content: string | StyledText[] = "", ): StyledText[] { if (typeof content === "string") { return [ @@ -36,7 +38,7 @@ function partialContentToInlineContent( | PartialInlineContent | PartialTableCell | TableContent - | undefined + | undefined, ): | InlineContent[] | TableContent @@ -76,7 +78,7 @@ function partialContentToInlineContent( rows: content.rows.map((row) => ({ ...row, cells: row.cells.map( - (cell) => partialContentToInlineContent(cell) as any + (cell) => partialContentToInlineContent(cell) as any, ), })), }; @@ -100,23 +102,23 @@ function partialContentToInlineContent( export function partialBlocksToBlocksForTesting< BSchema extends BlockSchema, I extends InlineContentSchema, - S extends StyleSchema + S extends StyleSchema, >( schema: BlockNoteSchema, - partialBlocks: Array, NoInfer, NoInfer>> + partialBlocks: Array, NoInfer, NoInfer>>, ): Array> { return partialBlocks.map((partialBlock) => - partialBlockToBlockForTesting(schema.blockSchema, partialBlock) + partialBlockToBlockForTesting(schema.blockSchema, partialBlock), ); } export function partialBlockToBlockForTesting< BSchema extends BlockSchema, I extends InlineContentSchema, - S extends StyleSchema + S extends StyleSchema, >( schema: BSchema, - partialBlock: PartialBlock + partialBlock: PartialBlock, ): Block { const contentType: "inline" | "table" | "none" = schema[partialBlock.type!].content; @@ -129,14 +131,14 @@ export function partialBlockToBlockForTesting< contentType === "inline" ? [] : contentType === "table" - ? { - type: "tableContent", - columnWidths: undefined, - headerRows: undefined, - headerCols: undefined, - rows: [], - } - : (undefined as any), + ? { + type: "tableContent", + columnWidths: undefined, + headerRows: undefined, + headerCols: undefined, + rows: [], + } + : (undefined as any), children: [] as any, ...partialBlock, }; @@ -149,7 +151,7 @@ export function partialBlockToBlockForTesting< ) { (withDefaults.props as any)[propKey] = propValue.default; } - } + }, ); if (contentType === "inline") { diff --git a/tests/src/unit/shared/formatConversion/exportParseEquality/exportParseEqualityTestExecutors.ts b/tests/src/unit/shared/formatConversion/exportParseEquality/exportParseEqualityTestExecutors.ts index 42a75f61c1..9676bfe4d5 100644 --- a/tests/src/unit/shared/formatConversion/exportParseEquality/exportParseEqualityTestExecutors.ts +++ b/tests/src/unit/shared/formatConversion/exportParseEquality/exportParseEqualityTestExecutors.ts @@ -8,6 +8,7 @@ import { } from "@blocknote/core"; import { expect } from "vitest"; +// TODO: fix import and add lint rule, or allow? import { addIdsToBlocks, partialBlocksToBlocksForTesting, @@ -17,10 +18,10 @@ import { ExportParseEqualityTestCase } from "./exportParseEqualityTestCase.js"; export const testExportParseEqualityBlockNoteHTML = async < B extends BlockSchema, I extends InlineContentSchema, - S extends StyleSchema + S extends StyleSchema, >( editor: BlockNoteEditor, - testCase: ExportParseEqualityTestCase + testCase: ExportParseEqualityTestCase, ) => { (window as any).__TEST_OPTIONS.mockID = 0; @@ -29,29 +30,29 @@ export const testExportParseEqualityBlockNoteHTML = async < const exported = await editor.blocksToFullHTML(testCase.content); expect(await editor.tryParseHTMLToBlocks(exported)).toStrictEqual( - partialBlocksToBlocksForTesting(editor.schema, testCase.content) + partialBlocksToBlocksForTesting(editor.schema, testCase.content), ); }; export const testExportParseEqualityNodes = async < B extends BlockSchema, I extends InlineContentSchema, - S extends StyleSchema + S extends StyleSchema, >( editor: BlockNoteEditor, - testCase: ExportParseEqualityTestCase + testCase: ExportParseEqualityTestCase, ) => { (window as any).__TEST_OPTIONS.mockID = 0; addIdsToBlocks(testCase.content); const exported = testCase.content.map((block) => - blockToNode(block, editor.pmSchema) + blockToNode(block, editor.pmSchema), ); expect( - exported.map((node) => nodeToBlock(node, editor.pmSchema)) + exported.map((node) => nodeToBlock(node, editor.pmSchema)), ).toStrictEqual( - partialBlocksToBlocksForTesting(editor.schema, testCase.content) + partialBlocksToBlocksForTesting(editor.schema, testCase.content), ); }; diff --git a/tests/src/utils/customblocks/Alert.tsx b/tests/src/utils/customblocks/Alert.tsx index ad64f90c97..a8cf51c9d8 100644 --- a/tests/src/utils/customblocks/Alert.tsx +++ b/tests/src/utils/customblocks/Alert.tsx @@ -128,6 +128,7 @@ export const Alert = createBlockSpec( ); export const insertAlert = (editor: BlockNoteEditor) => ({ + key: "alert", title: "Insert Alert", onItemClick: () => { const block: PartialBlock< diff --git a/vitest.workspace.js b/vitest.workspace.js new file mode 100644 index 0000000000..97c66e944d --- /dev/null +++ b/vitest.workspace.js @@ -0,0 +1,77 @@ +import { defineWorkspace } from "vitest/config"; + +export default defineWorkspace([ + "./packages/xl-ai/vite.config.ts", + // "./examples/03-ui-components/link-toolbar-buttons/vite.config.ts", + // "./examples/03-ui-components/08-suggestion-menus-emoji-picker-columns/vite.config.ts", + // "./examples/03-ui-components/09-suggestion-menus-emoji-picker-component/vite.config.ts", + // "./examples/03-ui-components/01-ui-elements-remove/vite.config.ts", + // "./examples/03-ui-components/10-suggestion-menus-grid-mentions/vite.config.ts", + // "./examples/03-ui-components/12-static-formatting-toolbar/vite.config.ts", + // "./packages/xl-docx-exporter/vite.config.ts", + // "./examples/03-ui-components/03-formatting-toolbar-block-type-items/vite.config.ts", + // "./packages/react/vite.config.ts", + // "./playground/vite.config.ts", + // "./packages/server-util/vite.config.ts", + // "./packages/xl-ai-server/vite.config.ts", + // "./packages/shadcn/vite.config.ts", + // "./packages/mantine/vite.config.ts", + // "./packages/xl-pdf-exporter/vite.config.ts", + + // "./examples/03-ui-components/11-uppy-file-panel/vite.config.ts", + // "./packages/core/vite.config.ts", + // "./packages/core/vite.config.bundled.ts", + // "./examples/03-ui-components/02-formatting-toolbar-buttons/vite.config.ts", + // "./packages/ariakit/vite.config.ts", + // "./examples/03-ui-components/05-side-menu-drag-handle-items/vite.config.ts", + // "./examples/03-ui-components/14-experimental-mobile-formatting-toolbar/vite.config.ts", + // "./examples/03-ui-components/13-custom-ui/vite.config.ts", + // "./examples/03-ui-components/04-side-menu-buttons/vite.config.ts", + // "./examples/03-ui-components/06-suggestion-menus-slash-menu-items/vite.config.ts", + // "./examples/03-ui-components/07-suggestion-menus-slash-menu-component/vite.config.ts", + // "./packages/xl-multi-column/vite.config.ts", + // "./examples/06-custom-schema/04-pdf-file-block/vite.config.ts", + // "./examples/06-custom-schema/03-font-style/vite.config.ts", + // "./examples/06-custom-schema/react-custom-blocks/vite.config.ts", + // "./examples/06-custom-schema/react-custom-styles/vite.config.ts", + // "./examples/06-custom-schema/01-alert-block/vite.config.ts", + // "./examples/07-collaboration/02-liveblocks/vite.config.ts", + // "./examples/07-collaboration/03-y-sweet/vite.config.ts", + // "./examples/07-collaboration/01-partykit/vite.config.ts", + // "./examples/05-interoperability/06-converting-blocks-to-docx/vite.config.ts", + // "./examples/05-interoperability/02-converting-blocks-from-html/vite.config.ts", + // "./examples/05-interoperability/03-converting-blocks-to-md/vite.config.ts", + // "./examples/05-custom-schema/react-custom-styles/dist/vite.config.js", + // "./examples/05-interoperability/01-converting-blocks-to-html/vite.config.ts", + // "./examples/04-theming/01-theming-dom-attributes/vite.config.ts", + // "./examples/04-theming/02-changing-font/vite.config.ts", + // "./examples/04-theming/03-theming-css/vite.config.ts", + // "./examples/05-interoperability/04-converting-blocks-from-md/vite.config.ts", + // "./examples/04-theming/04-theming-css-variables/vite.config.ts", + // "./examples/05-interoperability/05-converting-blocks-to-pdf/vite.config.ts", + // "./examples/02-backend/01-file-uploading/vite.config.ts", + // "./examples/04-theming/05-theming-css-variables-code/vite.config.ts", + // "./examples/02-backend/03-s3/vite.config.ts", + // "./examples/02-backend/04-rendering-static-documents/vite.config.ts", + // "./examples/02-backend/02-saving-loading/vite.config.ts", + // "./examples/vanilla-js/react-vanilla-custom-styles/vite.config.ts", + // "./examples/vanilla-js/react-vanilla-custom-inline-content/vite.config.ts", + // "./examples/vanilla-js/react-vanilla-custom-blocks/vite.config.ts", + // "./examples/01-basic/05-removing-default-blocks/vite.config.ts", + // "./examples/01-basic/testing/vite.config.ts", + // "./examples/01-basic/09-shadcn/vite.config.ts", + // "./examples/06-custom-schema/react-custom-inline-content/vite.config.ts", + // "./examples/01-basic/11-custom-placeholder/vite.config.ts", + // "./examples/01-basic/06-block-manipulation/vite.config.ts", + // "./examples/01-basic/02-block-objects/vite.config.ts", + // "./examples/09-ai/01-minimal/vite.config.ts", + // "./examples/01-basic/01-minimal/vite.config.ts", + // "./examples/01-basic/08-ariakit/vite.config.ts", + // "./examples/01-basic/07-selection-blocks/vite.config.ts", + // "./examples/01-basic/03-multi-column/vite.config.ts", + // "./examples/01-basic/10-localization/vite.config.ts", + // "./examples/08-extensions/01-tiptap-arrow-conversion/vite.config.ts", + // "./examples/01-basic/12-multi-editor/vite.config.ts", + // "./examples/06-custom-schema/02-suggestion-menus-mentions/vite.config.ts", + // "./examples/01-basic/04-default-blocks/vite.config.ts" +]);