mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 05:14:54 +00:00
Support issue [BS-2085](https://linear.app/affine-design/issue/BS-2085). ### What changed? - Refactor the `actionToAnswerRenderer` function to support reuse in both page mode and edgeless mode. - Add a new `page-response.ts` module to handle AI-generated answers in page mode. - Remove the redundant `edgelessHandler` function from `_common/config.ts`. - Introduce the `AIContext` class along with the `ctx` TypeScript type to standardize context management. - Implement the `createTemplateJob` function to enable AI slide insertion in both page mode and edgeless mode. Insert mindmap on page mode: <div class='graphite__hidden'> <div>🎥 Video uploaded on Graphite:</div> <a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/30630d3e-ebd9-416b-9bb9-5f27086e48a3.mov"> <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/30630d3e-ebd9-416b-9bb9-5f27086e48a3.mov"> </a> </div> <video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/30630d3e-ebd9-416b-9bb9-5f27086e48a3.mov">mindmap.mov</video> Insert image on edgeless note <div class='graphite__hidden'> <div>🎥 Video uploaded on Graphite:</div> <a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/b850ee5a-a06b-4ae7-8b68-ed5929a6e81a.mov"> <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/b850ee5a-a06b-4ae7-8b68-ed5929a6e81a.mov"> </a> </div> <video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/b850ee5a-a06b-4ae7-8b68-ed5929a6e81a.mov">image3.mov</video> Insert image on page mode: <div class='graphite__hidden'> <div>🎥 Video uploaded on Graphite:</div> <a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/c4f98e2d-0b15-4310-b3e0-0725e330302b.mov"> <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/c4f98e2d-0b15-4310-b3e0-0725e330302b.mov"> </a> </div> <video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/c4f98e2d-0b15-4310-b3e0-0725e330302b.mov">image.mov</video> Generate image from image: <div class='graphite__hidden'> <div>🎥 Video uploaded on Graphite:</div> <a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/2776a55f-cbb7-47ce-8e7d-7cae243fa3e9.mov"> <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/2776a55f-cbb7-47ce-8e7d-7cae243fa3e9.mov"> </a> </div> <video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/2776a55f-cbb7-47ce-8e7d-7cae243fa3e9.mov">image2.mov</video> Insert presentation on page mode: <div class='graphite__hidden'> <div>🎥 Video uploaded on Graphite:</div> <a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/4e228fa5-88f4-478c-8b79-647612d5515c.mov"> <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/4e228fa5-88f4-478c-8b79-647612d5515c.mov"> </a> </div> <video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/4e228fa5-88f4-478c-8b79-647612d5515c.mov">ppt.mov</video> Insert make it real on page mode: <div class='graphite__hidden'> <div>🎥 Video uploaded on Graphite:</div> <a href="https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/c71139b2-fb55-4d89-84e2-d52eeb905b57.mov"> <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/c71139b2-fb55-4d89-84e2-d52eeb905b57.mov"> </a> </div> <video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/c71139b2-fb55-4d89-84e2-d52eeb905b57.mov">make it real.mov</video>
49 lines
1.5 KiB
JSON
49 lines
1.5 KiB
JSON
{
|
|
"name": "@affine/cli",
|
|
"type": "module",
|
|
"private": true,
|
|
"devDependencies": {
|
|
"@affine/env": "workspace:*",
|
|
"@affine/templates": "workspace:*",
|
|
"@aws-sdk/client-s3": "^3.709.0",
|
|
"@blocksuite/affine": "0.19.1",
|
|
"@clack/core": "^0.3.5",
|
|
"@clack/prompts": "^0.8.2",
|
|
"@magic-works/i18n-codegen": "^0.6.1",
|
|
"@napi-rs/simple-git": "^0.1.19",
|
|
"@perfsee/webpack": "^1.13.0",
|
|
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.15",
|
|
"@sentry/webpack-plugin": "^2.22.7",
|
|
"@types/mime-types": "^2.1.4",
|
|
"@types/webpack-env": "^1.18.5",
|
|
"@vanilla-extract/webpack-plugin": "^2.3.15",
|
|
"autoprefixer": "^10.4.20",
|
|
"copy-webpack-plugin": "^12.0.2",
|
|
"css-loader": "^7.1.2",
|
|
"cssnano": "^7.0.6",
|
|
"dotenv": "^16.4.7",
|
|
"html-webpack-plugin": "^5.6.3",
|
|
"lodash-es": "^4.17.21",
|
|
"mime-types": "^2.1.35",
|
|
"mini-css-extract-plugin": "^2.9.2",
|
|
"postcss": "^8.4.49",
|
|
"postcss-loader": "^8.1.1",
|
|
"react-refresh": "^0.16.0",
|
|
"source-map-loader": "^5.0.0",
|
|
"style-loader": "^4.0.0",
|
|
"swc-loader": "^0.2.6",
|
|
"tailwindcss": "^3.4.16",
|
|
"terser-webpack-plugin": "^5.3.10",
|
|
"ts-node": "^10.9.2",
|
|
"vite": "^6.0.3",
|
|
"webpack": "^5.97.1",
|
|
"webpack-dev-server": "^5.2.0",
|
|
"webpack-merge": "^6.0.1"
|
|
},
|
|
"scripts": {
|
|
"bundle": "node --loader ts-node/esm/transpile-only.mjs ./src/bin/build.ts",
|
|
"dev": "node --loader ts-node/esm/transpile-only.mjs ./src/bin/dev.ts"
|
|
},
|
|
"version": "0.18.0"
|
|
}
|