2848 Commits

Author SHA1 Message Date
Archer f252bc7300 perf: ip check (#6850)
* perf: ip check

* fix: restore IP limit proxy handling

* test: check xff and xri

* fix: type check

* doc

* update template

* fix: workspace

* fix: import

* fix: align IP limit env usage

* init env

* init env

* fix: mongo log url

* fix: mongo log url

* submodule

* update piagent import

---------

Co-authored-by: xqvvu <whoeverimf5@gmail.com>
2026-05-06 22:27:15 +08:00
Archer 89b80f75a4 Perf worker and env load (#6861)
* perf: read file worker

* perf: worker pool

* fix: test

* fix: review

* fix: test

* fix: add helm aes secret env

* fix: align required env configuration

* docs: align env default values

* test: make AES tamper case deterministic

* sandbox default env

* chore: centralize environment configuration

* fix: tighten env ownership and validation

* fix: harden env compatibility

* perf: env

* fix: resolve env ci failures

* perf: env

* perf: env

* remove invalid code

* doc

* doc

* doc

* doc

* perf: axios header get

* fix: test

* fix: i18n
2026-05-06 18:25:24 +08:00
Archer 4a3401a405 Pick (#6875)
* feat: close wecom channel;fix: scope chat resume to current app  (#6874)

* feat: close wecom channel

* fix: scope chat resume to current app (#6860)

* fix: scope chat resume to current app

Abort stale resume streams when switching apps and only resume after the current app/chat init state is aligned.

Made-with: Cursor

* refactor: centralize resume stream cancellation

Ensure only one resume stream is active per client tab and discard queued resume messages after abort.

Made-with: Cursor

* fix: make sure controller unique

* chore: remove redundant effect

* perf: remove invalid code

* update package

---------

Co-authored-by: Ryo <whoeverimf5@gmail.com>

* doc

* lock

---------

Co-authored-by: Ryo <whoeverimf5@gmail.com>
2026-05-06 13:57:16 +08:00
dependabot[bot] 6545b49074 chore(deps): bump axios from 1.13.6 to 1.15.2 (#6871)
Bumps [axios](https://github.com/axios/axios) from 1.13.6 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.6...v1.15.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-06 13:48:33 +08:00
dependabot[bot] dce219ab56 chore(deps): bump mongoose from 8.12.1 to 8.22.1 (#6870)
Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.12.1 to 8.22.1.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Automattic/mongoose/compare/8.12.1...8.22.1)

---
updated-dependencies:
- dependency-name: mongoose
  dependency-version: 8.22.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-06 13:48:22 +08:00
Ryo 910010fe75 fix: scope chat resume to current app (#6860)
* fix: scope chat resume to current app

Abort stale resume streams when switching apps and only resume after the current app/chat init state is aligned.

Made-with: Cursor

* refactor: centralize resume stream cancellation

Ensure only one resume stream is active per client tab and discard queued resume messages after abort.

Made-with: Cursor

* fix: make sure controller unique

* chore: remove redundant effect
2026-05-06 11:24:44 +08:00
Ryo 9a6d774c0c fix: use upload control file config (#6858)
* fix: skip allowed extensions

* fix: use upload control file config

Made-with: Cursor

* docs: v4.14.18

* chore: update pro submodule

* docs
2026-05-06 10:37:28 +08:00
DigHuang 410aca76f3 feat(app): sync aiChatReasoningEffort in SimpleApp form and refine AI settings inputs (#6862)
* feat(app): sync aiChatReasoningEffort in SimpleApp form and refine AI settings inputs

* chore: bump pro submodule to 1a56dfc0

* feat: refactor AI setting modal layout, standardize input heights, and update internationalization strings
2026-04-30 14:44:00 +08:00
YeYuheng ea8abf47a1 dingding (#6856) 2026-04-29 20:39:24 +08:00
DigHuang 34842fc16e feat(reason): configurable reasoning effort with tool-call propagation (#6837)
* feat(reason): reasoning effort config

* feat: reasoning effort config ui

* refactor: price UI and add bordered table style

* feat(reason): add default reasoning effort and propagate to tool call node

* chore: ai-proxy version

* refactor(ai): narrow openai v6 tool types and tidy reasoning UI

* chore(ai): drop unused httpsAgent global and restore error-path

* feat(ai): add reasoning effort tip in AI settings modal
2026-04-29 20:36:08 +08:00
DigHuang be0a41a988 fix(workflow): relax variable update reference validation to ignore stale valueType (#6859) 2026-04-29 18:06:33 +08:00
Archer 8d67db1eb2 fix: stt usage (#6855)
* fix: stt usage

* perf: skil ssrf with some api

* fix:test
2026-04-29 16:34:19 +08:00
Ryo 073bd59141 fix: skip allowed extensions (#6854)
* fix: skip allowed extensions

* action preview repo

---------

Co-authored-by: archer <545436317@qq.com>
2026-04-29 15:12:08 +08:00
Archer 109a1f1898 perf: codex-sandbox check (#6851)
* perf: codex-sandbox check

* perf: codex sandbox

* fix: build

* add log in httperror

* perf: sandbox

* package version
2026-04-29 14:53:45 +08:00
Archer 1fd5eed88a perf: ssrf check (#6852) 2026-04-29 13:49:52 +08:00
Archer 225cb7e62b perf: catch error toast (#6849)
* perf: catch error toast

* fix: submodule

* perf: ssrf

* perf: readfiles
2026-04-28 22:44:51 +08:00
Archer 9f5e1d08b7 perf: template permission (#6848)
* perf: template permission

* perf: action

* doc
2026-04-28 21:35:13 +08:00
Archer aee6c0b1b0 Action (#6847)
* fix: pro's Dockefile

* fix: action

---------

Co-authored-by: xqvvu <whoeverimf5@gmail.com>
2026-04-28 21:16:04 +08:00
DigHuang b8891ecee4 fix(share): show contact admin message and hide plan button for visitors on insufficient AI points (#6846) 2026-04-28 21:11:21 +08:00
Ryo 25fb662fde chore: update admin release workflow (#6842)
* chore: update admin release workflow

* fix: preview-admin-build.yml
2026-04-28 18:49:39 +08:00
Hinotobi c1c6b9520d fix: validate stored MCP tool URLs (#6826) 2026-04-28 18:29:13 +08:00
Archer c483a56373 sandbox tool inject (#6836)
* sandbox tool inject

* perf: read file prompt

* submodule
2026-04-28 18:03:38 +08:00
YeYuheng 83c02c979f fix: step-retry-error (#6829)
* step-retry-error

* error output

* doc

* lock

---------

Co-authored-by: archer <545436317@qq.com>
2026-04-28 17:10:36 +08:00
Ryo 423607ab5c chore: add skip file type check env (#6839) 2026-04-28 16:56:57 +08:00
Ryo 1cb67b38e0 fix: home chat file uploads (#6838)
* chore: update actions workflow yamls

* chore: update turbo.json

* fix: split admin preview image workflows

* fix: allow home chat file uploads
2026-04-28 16:56:16 +08:00
Ryo a08edc422a chore: update actions workflow yamls (#6835)
* chore: update actions workflow yamls

* fix: allow pro workflows on fork pull requests

* chore: update turbo.json

* fix: split admin preview image workflows

* chore: bump pro submodule for admin typecheck

* chore: update pro submodule
2026-04-28 16:25:48 +08:00
Archer 18a35bfcdc .codex (#6832) 2026-04-27 23:05:50 +08:00
YeYuheng ff6bb82c8e fix: file-bug (#6799)
* file-bug

* file-bug

* file-bug

* fix

* fix

* perf: test

* perf: file inject prompt

---------

Co-authored-by: archer <545436317@qq.com>
2026-04-27 21:30:03 +08:00
Archer 7e6dff2928 update shell (#6830) 2026-04-27 20:19:09 +08:00
Ryo 289da0f7b0 chore: bump pro submodule for hydration stability (#6808)
* sandbox-sync-agent

* refactor: host pro as submodule

* chore: checkpoint host pro restructure

* refactor workspace test layout and startup init

* chore: update next turbopack setup

* chore: snapshot current work before actions fix

* chore: update pro submodule

* chore: point pro submodule url to upstream https

* fix: Dockerfile

* chore: update pro submodule

* ci: support private pro submodule token and skip fork jobs

* fix(ci): build sdk workspace deps before code-sandbox bundle

* fix(app): exclude vitest configs from production typecheck

* fix(app-image): build sdk packages before next build

* fix(ci): align dockerfiles with workspace sdk build flow

* chore(docker): upgrade node20 docker images to node24

* fix(ci): read admin coverage output path in pro test workflow

* fix(app-image): include next-i18next config and locale assets

* chore: update pro submodule

* chore: do not specify branch for submodule

* chore: remove most ts-nocheck sign

* chore: update pro submodule

* chore: remove sandbox-agent-sync package

* chore: do not modify "pushData" file logic

* fix: health check

* chore: restore dev axios proxy state

* fix: test-fastgpt report workflow

* fix: use valid vitest coverage action inputs
2026-04-27 17:44:12 +08:00
YeYuheng e32410b93c api_dataset_error (#6828) 2026-04-27 17:16:25 +08:00
DigHuang 354bc97271 fix(drag): mutex selection between nested parent and child nodes (#6821)
* fix(drag): mutex selection between nested parent and child nodes

* fix: mutex selection between nested parent and child nodes

* doc

---------

Co-authored-by: archer <545436317@qq.com>
2026-04-27 16:27:58 +08:00
amingbo 57b38e3ee9 fix(workflow): clarify multi-select tooltip copy (#6827) 2026-04-27 16:15:17 +08:00
Archer d80ebaa867 fix: template height (#6825) 2026-04-26 22:41:57 +08:00
Archer cc5c5ad429 Update sdk (#6824)
* update sdk

* doc
2026-04-26 21:28:27 +08:00
Archer cfad26518e update doc (#6823) 2026-04-26 21:08:47 +08:00
Archer 746f83a258 doc (#6819) 2026-04-25 21:49:22 +08:00
Archer 927707d36b doc (#6818) 2026-04-25 21:47:11 +08:00
Archer 1c8a47cff7 fix: adapt systemTool (#6817) 2026-04-25 21:37:55 +08:00
dependabot[bot] 0c39c7ba81 chore(deps-dev): bump postcss from 8.5.6 to 8.5.10 in /document (#6814)
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.6 to 8.5.10.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.6...8.5.10)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.10
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-25 17:28:05 +08:00
Archer 74264c5c37 perf: stop loop (#6816)
* perf: stop loop

* fix: test
2026-04-25 17:27:33 +08:00
DigHuang 306d797adc chore(workflow): deprecate loop node and add deprecation skill (#6815) 2026-04-25 16:31:15 +08:00
DigHuang b7cdb3fb86 feat: support multiple valueTypes for text input variables (#6801)
* feat: 文本输入框变量支持多 valueType

* fix: 文本输入框变量非 string valueType 的渲染映射

- formRender/utils.ts: variableInputTypeToInputType 在 text input 场景下
  按 valueType 派生,非 string 走 JSONEditor/textarea,让 Chat 表单与
  调试面板能正确渲染 object/array/any 变量
- packages/global/core/workflow/utils.ts: appData2FlowNodeIO 的
  renderTypeMap 对 text input + 非 string 使用 [JSONEditor, reference],
  保证父工作流节点输入同步跟进
- 补 appData2FlowNodeIO 的 text input valueType 分支测试

* feat(workflow): 全局变量联动清理节点引用及变量更新节点必填校验

* fix(workflow): 文本输入变量 legacy 兼容与引用存活校验

* refactor(workflow): 抽出文本输入变量 valueType 兜底 helper

* feat: adapt test for all node type

* revert(workflow): 移除全局变量引用联动清理

* feat: remove any in text input

* doc

---------

Co-authored-by: archer <545436317@qq.com>
2026-04-24 22:01:29 +08:00
DigHuang 27ebc0eeba feat(workflow): add loop run node with start/break sub-nodes (#6797)
* feat(workflow): add loop run node with start/break sub-nodes

* fix(workflow): clear loop run resume state and polish interactions

* fix(workflow): harden loop run error paths and   dedupe template registry

* fix(workflow): route loop run precheck errors through   errorText and validate break reachability

* fix(workflow): fix loop run conditional validation and outer-node ref snapshot

* refactor: consolidate shared workflow usage and feedback collection helpers into dispatch/utils.ts

* feat(workflow): aggregate loop run iterations in response tree and polish editor/UI

* fix(workflow): i18n loop run errors and surface uncaught nested errors in chat

* fix(workflow): route node card delete button through onNodesChange

* fix(chat): recurse loopRun/parallelRun details when flattening responses

* fix(workflow): loop run resume stitching and PR review polish

* fix(workflow): loop run max-length boundary and resume isEntry leak
2026-04-24 21:35:30 +08:00
Archer 81dfc589f4 fix: messages adapt test (#6813)
* doc

* doc

* doc
2026-04-24 18:34:55 +08:00
Archer 5316c3cad5 perf: adapt reason text (#6812) 2026-04-24 18:19:57 +08:00
Archer 331d44aafe Update 41411.mdx (#6811) 2026-04-24 17:13:58 +08:00
YeYuheng c1cd46789e helper-error (#6802)
* helper-error

* helper-error

* helper-error

* helper-error

* reset helperbot fe

---------

Co-authored-by: archer <545436317@qq.com>
2026-04-23 18:02:28 +08:00
Archer 38a7cb27e5 doc (#6810) 2026-04-23 17:37:39 +08:00
Octopus af081457a8 fix(embedding): decode base64 embedding responses before vector processing (#6807)
* fix(embedding): decode base64 embedding responses before vector processing

When a model's extra body config includes `encoding_format: "base64"`, the
embedding API returns a base64-encoded IEEE 754 little-endian float32 array
instead of a `number[]`. The previous code passed this raw string directly
to `formatVectors`, which called `.reduce()` on it and threw:
  TypeError: a.reduce is not a function

Add `decodeEmbedding()` that detects base64 strings and decodes them to
`number[]` via `Buffer → Float32Array → Array.from()`, then use it in
`getVectorsByText` before calling `formatVectors`.

Fixes #6769

* perf: test

---------

Co-authored-by: octo-patch <octo-patch@github.com>
Co-authored-by: archer <545436317@qq.com>
2026-04-23 16:49:04 +08:00