301 Commits

Author SHA1 Message Date
ymq
4742a67d80 feat: load_path 注册 audit API(owner.audit) + work_env/deploy_account(logined) 2026-08-14 12:12:33 +08:00
ymq
359c57b156 feat: 审计 API(仅 owner.audit)+ work_env 写审计日志 2026-08-14 12:11:01 +08:00
ymq
9ab0db53ad feat: work_env 加 get_org_pubkey(admin 获取机构公钥配置远程免密) 2026-08-14 11:58:52 +08:00
ymq
a97512a760 security: org 级工作环境仅超管可设 + user 级强制设自己 2026-08-14 11:26:39 +08:00
ymq
7350e04cf6 feat: 工作环境 API (get/set/ensure_remote_bwrap) + deploy_account run 支持远程模式 2026-08-14 11:12:59 +08:00
ymq
f3e81a69db security: Wterm(workspace_edit) bwrap沙箱化,防 rm -rf/sudo提权/越界/网络攻击
- vi 编辑包进 bwrap 沙箱:只暴露 workspace(挂/home) + 只读系统目录
- --unshare-user/pid/ipc/uts/net 隔离,no_new_privileges 阻断 sudo setuid
- bwrap 缺失时拒绝终端(安全优先,不给完整 shell)
2026-08-13 18:33:31 +08:00
ymq
803afa5cfe fix: cockpit_chat_v2 输出 content 流式格式(AgentIO→AgentOut 期望 content/reasoning_content/error,非 widget JSON) 2026-08-13 18:19:33 +08:00
ymq
f6e919aa84 feat: 部署账号 API (ensure/list/remove/run/file读写) 2026-08-13 17:57:13 +08:00
p
9bc5e81574 fix: load_path find_app_root walk up to pipeline-app root 2026-08-13 17:49:23 +08:00
p
addfdabc76 workspace: Wterm cursorBlink + PopupWindow resizable 2026-08-13 17:19:08 +08:00
p
9f4307b5d9 workspace: fix xterm cmdargs (asyncssh create_process single command) 2026-08-13 17:00:42 +08:00
p
67f318888d workspace: open use entire_url for xterm trigger 2026-08-13 16:56:56 +08:00
p
e19f5c5a2e workspace: open dispatch (vi/office-pdf/media) + file serving + edit xterm 2026-08-13 16:40:13 +08:00
p
c7d5e63491 workspace: use URLSearchParams for upload/delete 2026-08-13 15:57:55 +08:00
p
5f7ddc197a workspace: add upload/open/delete tools + drag-drop 2026-08-13 15:56:21 +08:00
p
e0d095cb04 tree: fix __root__ expansion returns subdirs 2026-08-13 14:26:56 +08:00
p
751c953ad3 workspace: use ResourceBrowser widget 2026-08-13 12:02:00 +08:00
p
0805eb219b workspace: use remove+widgetBuild per row, monkey-patch dispatch 2026-08-12 18:50:43 +08:00
p
c934111748 popup: VBox for files panel 2026-08-12 18:49:19 +08:00
p
6f6e31fcf0 workspace: monkey-patch Tree.dispatch for selected 2026-08-12 18:48:11 +08:00
p
ef39d586bb tree: root only initially, click to expand 2026-08-12 18:44:40 +08:00
p
0a0260708a workspace: cache-busting fetch URLs 2026-08-12 18:42:16 +08:00
p
3349bb1b33 tree: nested children for initial load 2026-08-12 18:39:46 +08:00
p
af7d7fc716 tree: lazy-load children only 2026-08-12 18:37:51 +08:00
p
1dfaa7a573 fix: getWidgetById with bricks.app scope, initial root load 2026-08-12 18:35:33 +08:00
p
7f29e5c157 fix: getWidgetById with popup scope, no PopupWindow binds 2026-08-12 18:21:07 +08:00
p
8a095c712c workspace: full tree dspy + urlwidget button + PopupWindow binds 2026-08-12 18:09:49 +08:00
p
9ec29726b2 workspace: use closure vars for tree+fp, no getWidgetById 2026-08-12 18:01:44 +08:00
p
7e3424ef37 workspace: button script builds everything, tree.bind directly 2026-08-12 17:49:49 +08:00
p
1856da5bca workspace: button script handles tree bind, popup no binds 2026-08-12 17:31:32 +08:00
p
fdecd9ee1f workspace: bind on PopupWindow level, wid=ws_tree 2026-08-12 17:30:37 +08:00
p
888e1ff320 workspace: add debug logs to bind script 2026-08-12 17:23:47 +08:00
p
ebf7757dd2 fix: use getWidgetById instead of this in tree script 2026-08-12 17:00:04 +08:00
p
61fb3f6485 fix: workspace_tree id=__root__ returns children 2026-08-12 16:51:30 +08:00
p
340dcf0fd0 workspace: tree lazy-load with id param 2026-08-12 16:48:34 +08:00
p
f106d330a4 workspace: script fetch+widgetBuild for selected node 2026-08-12 16:45:03 +08:00
p
10e6407419 workspace: event_params [id] for urlwidget 2026-08-12 15:48:34 +08:00
p
3032f26e2d workspace: script action for tree selected 2026-08-12 15:37:49 +08:00
p
f7c68c5d73 workspace: params_mapping id->id for tree urlwidget 2026-08-12 15:20:39 +08:00
p
4db8e3fafd workspace: root dir files initially, __root__ handling 2026-08-12 15:18:47 +08:00
p
222d3e2e75 workspace: tree dirs only, left 280px, right filler 2026-08-12 15:17:06 +08:00
p
5dcd8cea5a workspace: PopupWindow width 85% height 80% 2026-08-12 15:14:57 +08:00
p
6408406cd9 workspace: relative path ids, is_leaf, workspace_files uses ws_dir 2026-08-12 15:13:25 +08:00
p
cb11d92b3e workspace: idField not valueField, cfontsize 1.0 2026-08-12 15:11:22 +08:00
p
1c59c29b6a workspace: Tree cfontsize 1.0 2026-08-12 15:09:36 +08:00
p
9b834ee4f9 workspace: Tree textField/valueField/parentField 2026-08-12 15:08:34 +08:00
p
be93db3a62 workspace: HBox+Tree, entire_url, urlwidget action 2026-08-12 15:02:40 +08:00
p
5af747e004 workspace: standard subwidgets + auto_open 2026-08-12 14:36:52 +08:00
p
b3b97632ac workspace: content in options instead of subwidgets 2026-08-12 14:35:53 +08:00
p
90af3f67a1 workspace: urlwidget action loading PopupWindow from DSPY 2026-08-12 14:34:49 +08:00