gitextract_ug5_rm40/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── config.yml │ │ └── issue_report.md │ ├── actions/ │ │ ├── setup-db/ │ │ │ ├── Dockerfile │ │ │ └── action.yml │ │ └── setup-yao/ │ │ └── action.yml │ ├── codesign/ │ │ └── entitlements.plist │ ├── env/ │ │ └── sandbox-v2.env │ └── workflows/ │ ├── build-docker.yml │ ├── build-linux.yml │ ├── build-macos.yml │ ├── notarize-macos.yml │ ├── pr-receive.yml │ ├── pr-test.yml │ ├── release-linux.yml │ ├── release-macos.yml │ ├── release.yml │ ├── unit-test-v1.yml │ └── unit-test.yml ├── .gitignore ├── COMMERCIAL_LICENSE.md ├── COMMERCIAL_LICENSE.zh-CN.md ├── LICENSE ├── Makefile ├── README.md ├── README.zh-CN.md ├── agent/ │ ├── README.md │ ├── agent_test.go │ ├── assistant/ │ │ ├── agent.go │ │ ├── agent_interrupt_test.go │ │ ├── agent_next_test.go │ │ ├── assistant.go │ │ ├── build.go │ │ ├── build_content.go │ │ ├── build_mcp_test.go │ │ ├── build_prompts_test.go │ │ ├── build_test.go │ │ ├── cache.go │ │ ├── cache_test.go │ │ ├── chat.go │ │ ├── chat_test.go │ │ ├── handlers/ │ │ │ └── stream.go │ │ ├── history.go │ │ ├── history_test.go │ │ ├── hook/ │ │ │ ├── REALWORLD_PERFORMANCE_REPORT.md │ │ │ ├── create.go │ │ │ ├── create_bench_test.go │ │ │ ├── create_mem_test.go │ │ │ ├── create_nested_test.go │ │ │ ├── create_test.go │ │ │ ├── goroutine_leak_test.go │ │ │ ├── hook.go │ │ │ ├── next.go │ │ │ ├── next_test.go │ │ │ ├── realworld_next_test.go │ │ │ ├── realworld_stress_test.go │ │ │ ├── script.go │ │ │ └── types.go │ │ ├── llm.go │ │ ├── load.go │ │ ├── load_merge_test.go │ │ ├── load_process_test.go │ │ ├── load_store_test.go │ │ ├── load_system.go │ │ ├── load_test.go │ │ ├── mcp.go │ │ ├── mcp_test.go │ │ ├── next.go │ │ ├── permission.go │ │ ├── sandbox.go │ │ ├── sandbox_debug_test.go │ │ ├── sandbox_e2e_test.go │ │ ├── sandbox_integration_test.go │ │ ├── sandbox_test.go │ │ ├── sandbox_v2.go │ │ ├── scripts.go │ │ ├── scripts_process_test.go │ │ ├── scripts_test.go │ │ ├── search.go │ │ ├── search_auth_db.go │ │ ├── search_auth_integration_test.go │ │ ├── search_auth_kb.go │ │ ├── search_auto_disabled_test.go │ │ ├── search_auto_full_test.go │ │ ├── search_auto_hook_disable_test.go │ │ ├── search_auto_keyword_test.go │ │ ├── search_auto_web_test.go │ │ ├── source.go │ │ ├── trace.go │ │ ├── types.go │ │ └── utils.go │ ├── caller/ │ │ ├── caller.go │ │ ├── context.go │ │ ├── integration_test.go │ │ ├── jsapi.go │ │ ├── jsapi_test.go │ │ ├── orchestrator.go │ │ ├── orchestrator_test.go │ │ ├── process.go │ │ ├── process_e2e_test.go │ │ ├── process_test.go │ │ ├── sandbox_integration_test.go │ │ ├── types.go │ │ └── types_test.go │ ├── content/ │ │ ├── content.go │ │ ├── docx/ │ │ │ ├── docx.go │ │ │ └── docx_test.go │ │ ├── image/ │ │ │ ├── image.go │ │ │ └── image_test.go │ │ ├── link/ │ │ │ └── link.go │ │ ├── pdf/ │ │ │ ├── pdf.go │ │ │ └── pdf_test.go │ │ ├── pptx/ │ │ │ ├── pptx.go │ │ │ └── pptx_test.go │ │ ├── text/ │ │ │ ├── text.go │ │ │ └── text_test.go │ │ ├── tools/ │ │ │ └── tools.go │ │ └── types/ │ │ └── types.go │ ├── context/ │ │ ├── JSAPI.md │ │ ├── RESOURCE_MANAGEMENT.md │ │ ├── authorized_test.go │ │ ├── buffer.go │ │ ├── buffer_test.go │ │ ├── chat.go │ │ ├── chat_test.go │ │ ├── context.go │ │ ├── context_test.go │ │ ├── grpc.go │ │ ├── interfaces.go │ │ ├── interrupt.go │ │ ├── interrupt_test.go │ │ ├── jsapi.go │ │ ├── jsapi_agent.go │ │ ├── jsapi_agent_test.go │ │ ├── jsapi_agent_v8_test.go │ │ ├── jsapi_computer.go │ │ ├── jsapi_helpers.go │ │ ├── jsapi_llm.go │ │ ├── jsapi_llm_v8_test.go │ │ ├── jsapi_mcp.go │ │ ├── jsapi_mcp_test.go │ │ ├── jsapi_mcp_v8_test.go │ │ ├── jsapi_memory_test.go │ │ ├── jsapi_output_test.go │ │ ├── jsapi_release_test.go │ │ ├── jsapi_sandbox.go │ │ ├── jsapi_sandbox_test.go │ │ ├── jsapi_search.go │ │ ├── jsapi_search_test.go │ │ ├── jsapi_stress_test.go │ │ ├── jsapi_test.go │ │ ├── jsapi_workspace.go │ │ ├── log.go │ │ ├── mcp.go │ │ ├── mcp_test.go │ │ ├── message.go │ │ ├── message_events_test.go │ │ ├── message_test.go │ │ ├── openapi.go │ │ ├── openapi_test.go │ │ ├── options.go │ │ ├── output.go │ │ ├── stack.go │ │ ├── stack_test.go │ │ ├── types.go │ │ ├── types_llm.go │ │ └── utils.go │ ├── docs/ │ │ ├── configuration.md │ │ ├── context-api.md │ │ ├── hooks.md │ │ ├── i18n.md │ │ ├── iframe.md │ │ ├── mcp.md │ │ ├── models.md │ │ ├── pages.md │ │ ├── prompts.md │ │ ├── search.md │ │ └── testing.md │ ├── i18n/ │ │ ├── builtin.go │ │ ├── i18n.go │ │ └── i18n_test.go │ ├── llm/ │ │ ├── adapters/ │ │ │ ├── adapter.go │ │ │ ├── audio.go │ │ │ ├── reasoning.go │ │ │ ├── toolcall.go │ │ │ └── vision.go │ │ ├── capabilities.go │ │ ├── interfaces.go │ │ ├── jsapi.go │ │ ├── jsapi_types.go │ │ ├── llm.go │ │ ├── process.go │ │ └── providers/ │ │ ├── ANTHROPIC_PROVIDER_PROPOSAL.md │ │ ├── README.md │ │ ├── anthropic/ │ │ │ ├── anthropic.go │ │ │ ├── anthropic_test.go │ │ │ └── types.go │ │ ├── base/ │ │ │ └── base.go │ │ ├── factory.go │ │ └── openai/ │ │ ├── claude_test.go │ │ ├── deepseek_r1_test.go │ │ ├── deepseek_v3_test.go │ │ ├── gpt5_test.go │ │ ├── openai.go │ │ ├── openai_test.go │ │ ├── temperature_test.go │ │ └── types.go │ ├── load.go │ ├── load_test.go │ ├── memory/ │ │ ├── interfaces.go │ │ ├── manager.go │ │ ├── memory.go │ │ ├── memory_test.go │ │ ├── namespace.go │ │ └── types.go │ ├── output/ │ │ ├── BUILTIN_TYPES.md │ │ ├── README.md │ │ ├── adapters/ │ │ │ ├── cui/ │ │ │ │ ├── adapter.go │ │ │ │ └── writer.go │ │ │ └── openai/ │ │ │ ├── README.md │ │ │ ├── adapter.go │ │ │ ├── converter.go │ │ │ ├── types.go │ │ │ └── writer.go │ │ ├── builtin.go │ │ ├── jsapi/ │ │ │ ├── README.md │ │ │ ├── output.go │ │ │ └── output_test.go │ │ ├── message/ │ │ │ ├── STREAMING.md │ │ │ ├── interfaces.go │ │ │ ├── types.go │ │ │ ├── utils.go │ │ │ └── utils_test.go │ │ ├── output.go │ │ ├── safe_writer.go │ │ └── safe_writer_test.go │ ├── robot/ │ │ ├── DESIGN-V2-REVIEW-FINDINGS.md │ │ ├── DESIGN.md │ │ ├── TECHNICAL.md │ │ ├── TODO.md │ │ ├── V2-IMPROVEMENTS.md │ │ ├── api/ │ │ │ ├── README.md │ │ │ ├── activities.go │ │ │ ├── api_test.go │ │ │ ├── e2e_clock_test.go │ │ │ ├── e2e_concurrent_test.go │ │ │ ├── e2e_control_test.go │ │ │ ├── e2e_event_test.go │ │ │ ├── e2e_human_test.go │ │ │ ├── e2e_interact_test.go │ │ │ ├── e2e_suspend_test.go │ │ │ ├── execution.go │ │ │ ├── execution_test.go │ │ │ ├── interact.go │ │ │ ├── interact_test.go │ │ │ ├── lifecycle.go │ │ │ ├── lifecycle_test.go │ │ │ ├── results.go │ │ │ ├── robot.go │ │ │ ├── robot_test.go │ │ │ ├── trigger.go │ │ │ ├── trigger_test.go │ │ │ └── types.go │ │ ├── cache/ │ │ │ ├── cache.go │ │ │ ├── cache_test.go │ │ │ ├── load.go │ │ │ └── refresh.go │ │ ├── dedup/ │ │ │ └── dedup.go │ │ ├── events/ │ │ │ ├── delivery.go │ │ │ ├── event_push_test.go │ │ │ ├── events.go │ │ │ ├── events_test.go │ │ │ ├── handlers.go │ │ │ ├── handlers_test.go │ │ │ ├── integrations/ │ │ │ │ ├── dingtalk/ │ │ │ │ │ ├── dedup.go │ │ │ │ │ ├── dingtalk.go │ │ │ │ │ ├── e2e_test.go │ │ │ │ │ ├── message.go │ │ │ │ │ ├── reply.go │ │ │ │ │ └── stream.go │ │ │ │ ├── discord/ │ │ │ │ │ ├── dedup.go │ │ │ │ │ ├── discord.go │ │ │ │ │ ├── e2e_test.go │ │ │ │ │ ├── gateway.go │ │ │ │ │ ├── message.go │ │ │ │ │ └── reply.go │ │ │ │ ├── dispatcher.go │ │ │ │ ├── dispatcher_test.go │ │ │ │ ├── feishu/ │ │ │ │ │ ├── dedup.go │ │ │ │ │ ├── e2e_test.go │ │ │ │ │ ├── feishu.go │ │ │ │ │ ├── message.go │ │ │ │ │ ├── reply.go │ │ │ │ │ └── stream.go │ │ │ │ └── telegram/ │ │ │ │ ├── dedup.go │ │ │ │ ├── e2e_test.go │ │ │ │ ├── message.go │ │ │ │ ├── polling.go │ │ │ │ ├── reply.go │ │ │ │ ├── telegram.go │ │ │ │ └── webhook.go │ │ │ ├── log.go │ │ │ └── message.go │ │ ├── executor/ │ │ │ ├── README.md │ │ │ ├── dryrun/ │ │ │ │ └── executor.go │ │ │ ├── executor.go │ │ │ ├── executor_test.go │ │ │ ├── sandbox/ │ │ │ │ └── executor.go │ │ │ ├── standard/ │ │ │ │ ├── agent.go │ │ │ │ ├── agent_stream_test.go │ │ │ │ ├── agent_test.go │ │ │ │ ├── delivery.go │ │ │ │ ├── delivery_test.go │ │ │ │ ├── executor.go │ │ │ │ ├── executor_test.go │ │ │ │ ├── goals.go │ │ │ │ ├── goals_test.go │ │ │ │ ├── host.go │ │ │ │ ├── host_test.go │ │ │ │ ├── input.go │ │ │ │ ├── input_integration_test.go │ │ │ │ ├── input_test.go │ │ │ │ ├── inspiration.go │ │ │ │ ├── inspiration_test.go │ │ │ │ ├── learning.go │ │ │ │ ├── log.go │ │ │ │ ├── resume_test.go │ │ │ │ ├── run.go │ │ │ │ ├── run_test.go │ │ │ │ ├── runner.go │ │ │ │ ├── runner_test.go │ │ │ │ ├── suspend_resume_test.go │ │ │ │ ├── suspend_test.go │ │ │ │ ├── tasks.go │ │ │ │ ├── tasks_test.go │ │ │ │ ├── ui_fields_test.go │ │ │ │ ├── validator.go │ │ │ │ └── validator_test.go │ │ │ └── types/ │ │ │ ├── helpers.go │ │ │ └── types.go │ │ ├── logger/ │ │ │ └── logger.go │ │ ├── manager/ │ │ │ ├── integration_clock_test.go │ │ │ ├── integration_concurrent_test.go │ │ │ ├── integration_control_test.go │ │ │ ├── integration_event_test.go │ │ │ ├── integration_human_test.go │ │ │ ├── integration_test.go │ │ │ ├── interact.go │ │ │ ├── interact_helpers_test.go │ │ │ ├── interact_test.go │ │ │ ├── manager.go │ │ │ └── manager_test.go │ │ ├── plan/ │ │ │ └── plan.go │ │ ├── pool/ │ │ │ ├── goroutine_test.go │ │ │ ├── pool.go │ │ │ ├── pool_test.go │ │ │ ├── queue.go │ │ │ ├── queue_test.go │ │ │ ├── worker.go │ │ │ └── worker_test.go │ │ ├── process.go │ │ ├── process_test.go │ │ ├── robot.go │ │ ├── store/ │ │ │ ├── execution.go │ │ │ ├── execution_test.go │ │ │ ├── robot.go │ │ │ ├── robot_test.go │ │ │ └── store.go │ │ ├── trigger/ │ │ │ ├── clock.go │ │ │ ├── clock_test.go │ │ │ ├── control.go │ │ │ ├── control_test.go │ │ │ ├── trigger.go │ │ │ └── trigger_test.go │ │ ├── types/ │ │ │ ├── clock.go │ │ │ ├── clock_test.go │ │ │ ├── config.go │ │ │ ├── config_global.go │ │ │ ├── config_test.go │ │ │ ├── context.go │ │ │ ├── enums.go │ │ │ ├── enums_test.go │ │ │ ├── errors.go │ │ │ ├── host.go │ │ │ ├── host_test.go │ │ │ ├── inspiration.go │ │ │ ├── interfaces.go │ │ │ ├── request.go │ │ │ ├── robot.go │ │ │ └── robot_test.go │ │ └── utils/ │ │ ├── convert.go │ │ ├── convert_test.go │ │ ├── id.go │ │ ├── time.go │ │ ├── utils_test.go │ │ └── validate.go │ ├── sandbox/ │ │ ├── DESIGN.md │ │ ├── PLAN.md │ │ ├── claude/ │ │ │ ├── attachments_test.go │ │ │ ├── command.go │ │ │ ├── command_test.go │ │ │ ├── e2e_test.go │ │ │ ├── executor.go │ │ │ ├── executor_test.go │ │ │ ├── real_e2e_test.go │ │ │ └── types.go │ │ ├── cursor/ │ │ │ └── README.md │ │ ├── executor.go │ │ ├── executor_test.go │ │ ├── integration_test.go │ │ ├── types.go │ │ ├── types_test.go │ │ └── v2/ │ │ ├── claude/ │ │ │ ├── attachments.go │ │ │ ├── oscompat.go │ │ │ ├── parse.go │ │ │ ├── runner.go │ │ │ ├── runner_test.go │ │ │ └── testdata/ │ │ │ └── code.ts │ │ ├── init.go │ │ ├── lifecycle.go │ │ ├── lifecycle_test.go │ │ ├── options.go │ │ ├── prepare.go │ │ ├── prepare_test.go │ │ ├── runner.go │ │ ├── shell.go │ │ ├── stream.go │ │ ├── testutils/ │ │ │ └── testutils.go │ │ ├── testutils_remote_test.go │ │ ├── testutils_test.go │ │ ├── testutils_wintest_test.go │ │ ├── token.go │ │ ├── types/ │ │ │ ├── config.go │ │ │ ├── runner.go │ │ │ └── token.go │ │ └── yao/ │ │ ├── runner.go │ │ └── runner_test.go │ ├── search/ │ │ ├── DESIGN.md │ │ ├── citation.go │ │ ├── citation_test.go │ │ ├── defaults/ │ │ │ └── defaults.go │ │ ├── handlers/ │ │ │ ├── db/ │ │ │ │ ├── handler.go │ │ │ │ ├── handler_integration_test.go │ │ │ │ └── handler_test.go │ │ │ ├── kb/ │ │ │ │ ├── handler.go │ │ │ │ └── handler_test.go │ │ │ └── web/ │ │ │ ├── agent.go │ │ │ ├── agent_test.go │ │ │ ├── handler.go │ │ │ ├── mcp.go │ │ │ ├── mcp_test.go │ │ │ ├── serpapi.go │ │ │ ├── serpapi_test.go │ │ │ ├── serper.go │ │ │ ├── serper_test.go │ │ │ ├── tavily.go │ │ │ └── tavily_test.go │ │ ├── interfaces/ │ │ │ ├── handler.go │ │ │ ├── nlp.go │ │ │ ├── reranker.go │ │ │ └── searcher.go │ │ ├── jsapi.go │ │ ├── jsapi_db_test.go │ │ ├── jsapi_test.go │ │ ├── nlp/ │ │ │ ├── keyword/ │ │ │ │ ├── agent.go │ │ │ │ ├── agent_test.go │ │ │ │ ├── extractor.go │ │ │ │ ├── extractor_test.go │ │ │ │ ├── mcp.go │ │ │ │ └── mcp_test.go │ │ │ └── querydsl/ │ │ │ ├── agent.go │ │ │ ├── agent_test.go │ │ │ ├── generator.go │ │ │ ├── generator_test.go │ │ │ ├── mcp.go │ │ │ ├── mcp_test.go │ │ │ └── types.go │ │ ├── reference.go │ │ ├── reference_test.go │ │ ├── registry.go │ │ ├── registry_test.go │ │ ├── rerank/ │ │ │ ├── agent.go │ │ │ ├── agent_test.go │ │ │ ├── builtin.go │ │ │ ├── builtin_test.go │ │ │ ├── mcp.go │ │ │ ├── mcp_test.go │ │ │ ├── reranker.go │ │ │ └── reranker_test.go │ │ ├── search.go │ │ ├── search_test.go │ │ ├── search_web_test.go │ │ └── types/ │ │ ├── config.go │ │ ├── graph.go │ │ ├── reference.go │ │ └── types.go │ ├── store/ │ │ ├── CHAT_STORAGE_DESIGN.md │ │ ├── README.md │ │ ├── mongo/ │ │ │ └── mongo.go │ │ ├── redis/ │ │ │ └── redis.go │ │ ├── types/ │ │ │ ├── convert.go │ │ │ ├── convert_test.go │ │ │ ├── fields.go │ │ │ ├── fields_test.go │ │ │ ├── mcp_test.go │ │ │ ├── prompt.go │ │ │ ├── prompt_test.go │ │ │ ├── sandbox_v2.go │ │ │ ├── store.go │ │ │ └── types.go │ │ └── xun/ │ │ ├── assistant.go │ │ ├── assistant_test.go │ │ ├── chat.go │ │ ├── chat_test.go │ │ ├── message.go │ │ ├── message_test.go │ │ ├── resume.go │ │ ├── resume_test.go │ │ ├── search.go │ │ ├── search_test.go │ │ ├── utils.go │ │ ├── utils_test.go │ │ └── xun.go │ ├── test/ │ │ ├── DESIGN.md │ │ ├── DESIGN_V2.md │ │ ├── README.md │ │ ├── assert.go │ │ ├── assert_agent_test.go │ │ ├── assert_test.go │ │ ├── context.go │ │ ├── dynamic_integration_test.go │ │ ├── dynamic_runner.go │ │ ├── dynamic_runner_test.go │ │ ├── dynamic_types.go │ │ ├── extract.go │ │ ├── input.go │ │ ├── input_source.go │ │ ├── input_source_test.go │ │ ├── input_test.go │ │ ├── interfaces.go │ │ ├── loader.go │ │ ├── output.go │ │ ├── reporter.go │ │ ├── resolver.go │ │ ├── runner.go │ │ ├── runner_integration_test.go │ │ ├── script.go │ │ ├── script_assert.go │ │ ├── script_hooks.go │ │ ├── script_hooks_test.go │ │ ├── script_types.go │ │ └── types.go │ ├── testutils/ │ │ └── testutils.go │ └── types/ │ ├── dsl.go │ └── types.go ├── aigc/ │ ├── aigc.go │ ├── aigc_test.go │ ├── load.go │ ├── load_test.go │ ├── process.go │ ├── process_test.go │ └── types.go ├── api/ │ ├── README.md │ ├── api.go │ └── api_test.go ├── assert/ │ ├── asserter.go │ ├── asserter_test.go │ ├── helpers.go │ └── types.go ├── attachment/ │ ├── README.md │ ├── compresses.go │ ├── convert.go │ ├── example_usage.go │ ├── fileheader.go │ ├── gzip.go │ ├── load.go │ ├── load_test.go │ ├── local/ │ │ ├── storage.go │ │ └── storage_test.go │ ├── manager.go │ ├── manager_test.go │ ├── process.go │ ├── process_test.go │ ├── s3/ │ │ ├── storage.go │ │ └── storage_test.go │ └── types.go ├── audit/ │ └── README.md ├── bin/ │ └── yao-dev ├── cert/ │ ├── cert.go │ └── cert_test.go ├── cmd/ │ ├── README.md │ ├── agent/ │ │ ├── add.go │ │ ├── agent.go │ │ ├── extract.go │ │ ├── fork.go │ │ ├── push.go │ │ ├── test.go │ │ └── update.go │ ├── ci-token/ │ │ └── main.go │ ├── credential.go │ ├── dump.go │ ├── get/ │ │ ├── get.go │ │ └── get_test.go │ ├── get.go │ ├── help.go │ ├── init.go │ ├── inspect.go │ ├── login.go │ ├── logout.go │ ├── mcp/ │ │ ├── add.go │ │ ├── fork.go │ │ ├── mcp.go │ │ ├── push.go │ │ └── update.go │ ├── migrate.go │ ├── pack.go │ ├── restore.go │ ├── robot/ │ │ ├── add.go │ │ └── robot.go │ ├── root.go │ ├── run.go │ ├── socket.go │ ├── start.go │ ├── sui/ │ │ ├── build.go │ │ ├── sui.go │ │ ├── trans.go │ │ ├── utils.go │ │ └── watch.go │ ├── tea.go │ ├── upgrade.go │ ├── version.go │ └── websocket.go ├── config/ │ ├── config.go │ ├── config_test.go │ └── types.go ├── connector/ │ ├── connector.go │ └── connector_test.go ├── crypto/ │ ├── aes.go │ ├── aes_test.go │ ├── crypto.go │ ├── crypto_test.go │ └── process.go ├── cui/ │ ├── setup/ │ │ └── index.html │ ├── v0.9/ │ │ └── index.html │ └── v1.0/ │ ├── index.html │ ├── layouts__index.async.js │ └── umi.js ├── data/ │ ├── bindata.go │ ├── data.go │ └── data_test.go ├── docker/ │ ├── build/ │ │ └── Dockerfile │ ├── development/ │ │ └── Dockerfile │ └── production/ │ └── Dockerfile ├── docs/ │ └── README.md ├── dsl/ │ ├── api/ │ │ └── api.go │ ├── connector/ │ │ ├── cases_test.go │ │ ├── connector.go │ │ └── connector_test.go │ ├── dsl.go │ ├── dsl_test.go │ ├── io/ │ │ ├── cases_test.go │ │ ├── db.go │ │ ├── db_test.go │ │ ├── fs.go │ │ ├── fs_test.go │ │ └── utils.go │ ├── mcp/ │ │ ├── cases_test.go │ │ ├── client.go │ │ ├── client_test.go │ │ └── server.go │ ├── model/ │ │ ├── cases_test.go │ │ ├── model.go │ │ └── model_test.go │ └── types/ │ ├── interfaces.go │ ├── types.go │ ├── utils.go │ └── utils_test.go ├── engine/ │ ├── load.go │ ├── load_test.go │ ├── machine.go │ ├── machine_darwin.go │ ├── machine_linux.go │ ├── machine_test.go │ ├── machine_windows.go │ ├── process.go │ └── process_test.go ├── event/ │ ├── README.md │ ├── bench_test.go │ ├── bus.go │ ├── bus_test.go │ ├── leak_test.go │ ├── listener.go │ ├── listener_test.go │ ├── option.go │ ├── queue.go │ ├── queue_test.go │ ├── service.go │ ├── service_test.go │ ├── sub.go │ ├── sub_test.go │ ├── types/ │ │ ├── interfaces.go │ │ ├── types.go │ │ └── types_test.go │ ├── worker.go │ └── worker_test.go ├── excel/ │ ├── README.md │ ├── each.go │ ├── each_test.go │ ├── excel.go │ ├── excel_test.go │ ├── process.go │ ├── process_test.go │ ├── sheet.go │ ├── sheet_test.go │ ├── write.go │ └── write_test.go ├── flow/ │ ├── README.md │ ├── flow.go │ └── flow_test.go ├── fs/ │ ├── fs.go │ └── fs_test.go ├── go.mod ├── go.sum ├── grpc/ │ ├── DESIGN.md │ ├── IMPL.md │ ├── TEST.md │ ├── agent/ │ │ ├── agent.go │ │ └── agent_test.go │ ├── api/ │ │ ├── api.go │ │ └── api_test.go │ ├── auth/ │ │ ├── endpoint.go │ │ ├── endpoint_test.go │ │ ├── guard.go │ │ ├── guard_test.go │ │ └── scope.go │ ├── client/ │ │ ├── client.go │ │ └── token.go │ ├── grpc.go │ ├── health/ │ │ ├── health.go │ │ └── health_test.go │ ├── llm/ │ │ ├── llm.go │ │ └── llm_test.go │ ├── mcp/ │ │ ├── mcp.go │ │ └── mcp_test.go │ ├── pb/ │ │ ├── yao.pb.go │ │ ├── yao.proto │ │ └── yao_grpc.pb.go │ ├── run/ │ │ ├── run.go │ │ └── run_test.go │ ├── sandbox/ │ │ ├── heartbeat.go │ │ └── heartbeat_test.go │ ├── shell/ │ │ ├── shell.go │ │ └── shell_test.go │ └── tests/ │ └── testutils/ │ └── testutils.go ├── helper/ │ ├── array.go │ ├── array.process.go │ ├── array_test.go │ ├── captcha.go │ ├── captcha_test.go │ ├── case.go │ ├── case_test.go │ ├── condition.go │ ├── condition_test.go │ ├── control.process.go │ ├── control_test.go │ ├── env.process.go │ ├── env_test.go │ ├── hex.process.go │ ├── hex_test.go │ ├── if.go │ ├── if_test.go │ ├── jwt.go │ ├── jwt_test.go │ ├── map.go │ ├── map.process.go │ ├── map_test.go │ ├── password.go │ ├── password_test.go │ ├── process.go │ ├── range.go │ ├── string.process.go │ └── string_test.go ├── i18n/ │ ├── i18n.go │ └── i18n_test.go ├── importer/ │ ├── column.go │ ├── column_test.go │ ├── csv/ │ │ └── csv.go │ ├── from/ │ │ └── source.go │ ├── importer.go │ ├── importer_test.go │ ├── option.go │ ├── option_test.go │ ├── process.go │ ├── process_test.go │ ├── types.go │ └── xlsx/ │ └── xlsx.go ├── integrations/ │ ├── dingtalk/ │ │ ├── bot.go │ │ ├── bot_test.go │ │ ├── convert.go │ │ ├── convert_test.go │ │ ├── dingtalk_test.go │ │ ├── e2e_test.go │ │ ├── file.go │ │ ├── format.go │ │ └── message.go │ ├── discord/ │ │ ├── bot.go │ │ ├── bot_test.go │ │ ├── convert.go │ │ ├── convert_test.go │ │ ├── discord_test.go │ │ ├── e2e_test.go │ │ ├── file.go │ │ ├── format.go │ │ ├── message.go │ │ └── message_test.go │ ├── feishu/ │ │ ├── bot.go │ │ ├── bot_test.go │ │ ├── convert.go │ │ ├── convert_test.go │ │ ├── e2e_test.go │ │ ├── feishu_test.go │ │ ├── file.go │ │ ├── format.go │ │ └── message.go │ ├── telegram/ │ │ ├── bot.go │ │ ├── bot_test.go │ │ ├── convert.go │ │ ├── e2e_test.go │ │ ├── file.go │ │ ├── file_test.go │ │ ├── format.go │ │ ├── media_e2e_test.go │ │ ├── message.go │ │ ├── message_test.go │ │ ├── polling.go │ │ ├── telegram_test.go │ │ ├── types.go │ │ ├── verify.go │ │ ├── verify_test.go │ │ ├── webhook.go │ │ └── webhook_e2e_test.go │ └── testdata/ │ ├── test.docx │ ├── test.ogg │ └── test.pptx ├── job/ │ ├── README.md │ ├── data.go │ ├── data_test.go │ ├── execution.go │ ├── goroutine.go │ ├── health.go │ ├── health_test.go │ ├── interfaces.go │ ├── job.go │ ├── job_test.go │ ├── jsapi/ │ │ ├── jsapi.go │ │ └── jsapi_test.go │ ├── process.go │ ├── progress.go │ ├── types.go │ └── worker.go ├── kb/ │ ├── README.md │ ├── api/ │ │ ├── README.md │ │ ├── addfile.go │ │ ├── addfile_test.go │ │ ├── addtext.go │ │ ├── addtext_test.go │ │ ├── addurl.go │ │ ├── addurl_test.go │ │ ├── api.go │ │ ├── collection.go │ │ ├── collection_test.go │ │ ├── consts.go │ │ ├── document.go │ │ ├── document_test.go │ │ ├── interfaces.go │ │ ├── search.go │ │ ├── search_setup_test.go │ │ ├── search_test.go │ │ ├── types.go │ │ └── utils.go │ ├── kb.go │ ├── kb_test.go │ ├── providers/ │ │ ├── README.md │ │ ├── chunking.go │ │ ├── chunking_test.go │ │ ├── converter.go │ │ ├── converters/ │ │ │ ├── mcp.go │ │ │ ├── mcp_test.go │ │ │ ├── ocr.go │ │ │ ├── ocr_test.go │ │ │ ├── office.go │ │ │ ├── office_test.go │ │ │ ├── utf8.go │ │ │ ├── utf8_test.go │ │ │ ├── utils.go │ │ │ ├── utils_test.go │ │ │ ├── video.go │ │ │ ├── video_test.go │ │ │ ├── vision.go │ │ │ ├── vision_test.go │ │ │ ├── whisper.go │ │ │ └── whisper_test.go │ │ ├── embedding.go │ │ ├── embedding_test.go │ │ ├── extraction.go │ │ ├── extraction_test.go │ │ ├── factory/ │ │ │ ├── factory.go │ │ │ ├── interfaces.go │ │ │ └── utils.go │ │ ├── fetcher.go │ │ └── fetcher_test.go │ └── types/ │ ├── collection.go │ ├── config.go │ ├── config_test.go │ ├── document.go │ ├── provider.go │ └── types.go ├── main.go ├── mcp/ │ ├── README.md │ ├── mcp.go │ └── mcp_test.go ├── messenger/ │ ├── messenger.go │ ├── messenger_onreceive_test.go │ ├── messenger_receiver_test.go │ ├── messenger_sendt_test.go │ ├── messenger_test.go │ ├── providers/ │ │ ├── mailer/ │ │ │ ├── mailer.go │ │ │ ├── mailer_batch_test.go │ │ │ ├── mailer_receive.go │ │ │ ├── mailer_template_test.go │ │ │ └── mailer_test.go │ │ ├── mailgun/ │ │ │ ├── mailgun.go │ │ │ ├── mailgun_batch_test.go │ │ │ ├── mailgun_receive.go │ │ │ ├── mailgun_receive_test.go │ │ │ ├── mailgun_template_test.go │ │ │ └── mailgun_test.go │ │ └── twilio/ │ │ ├── twilio.go │ │ ├── twilio_batch_test.go │ │ ├── twilio_receive.go │ │ ├── twilio_receive_test.go │ │ ├── twilio_sms_test.go │ │ ├── twilio_template_test.go │ │ ├── twilio_test.go │ │ └── twilio_whatsapp_test.go │ ├── template/ │ │ ├── debug_test.go │ │ ├── load_test.go │ │ ├── render_test.go │ │ ├── template.go │ │ ├── template_test.go │ │ └── walk_test.go │ └── types/ │ ├── interfaces.go │ ├── template.go │ └── types.go ├── model/ │ ├── migrate.go │ ├── migrate_test.go │ ├── model.go │ └── model_test.go ├── monitor/ │ ├── README.md │ ├── logger.go │ ├── service.go │ ├── service_test.go │ └── types.go ├── openai/ │ ├── openai.go │ ├── openai_test.go │ ├── process.go │ ├── process_test.go │ └── types.go ├── openapi/ │ ├── agent/ │ │ ├── agent.go │ │ ├── assistant.go │ │ ├── filter.go │ │ ├── models.go │ │ ├── robot/ │ │ │ ├── DESIGN.md │ │ │ ├── GAPS.md │ │ │ ├── TODO.md │ │ │ ├── activities.go │ │ │ ├── completions.go │ │ │ ├── detail.go │ │ │ ├── execute.go │ │ │ ├── execution.go │ │ │ ├── interact.go │ │ │ ├── interact_test.go │ │ │ ├── list.go │ │ │ ├── permission.go │ │ │ ├── results.go │ │ │ ├── robot.go │ │ │ ├── trigger.go │ │ │ ├── types.go │ │ │ ├── utils.go │ │ │ └── verify.go │ │ └── types.go │ ├── app/ │ │ └── app.go │ ├── audit/ │ │ └── audit.go │ ├── captcha/ │ │ └── captcha.go │ ├── chat/ │ │ ├── chat.go │ │ ├── completions.go │ │ ├── reference.go │ │ ├── session.go │ │ └── types.go │ ├── computer/ │ │ └── computer.go │ ├── config.go │ ├── docs/ │ │ ├── migration-guide.md │ │ └── oauth.md │ ├── dsl/ │ │ ├── README.md │ │ └── dsl.go │ ├── file/ │ │ ├── README.md │ │ ├── file.go │ │ └── filter.go │ ├── hello/ │ │ ├── README.md │ │ └── hello.go │ ├── integrations/ │ │ └── integrations.go │ ├── job/ │ │ ├── categories.go │ │ ├── executions.go │ │ ├── filter.go │ │ ├── job.go │ │ ├── jobs.go │ │ └── logs.go │ ├── kb/ │ │ ├── addfile.go │ │ ├── addtext.go │ │ ├── addurl.go │ │ ├── backup.go │ │ ├── collection.go │ │ ├── collection_process.go │ │ ├── document.go │ │ ├── document_process.go │ │ ├── filter.go │ │ ├── graph.go │ │ ├── hit.go │ │ ├── kb.go │ │ ├── provider.go │ │ ├── score.go │ │ ├── search.go │ │ ├── segment.go │ │ ├── types.go │ │ ├── utils.go │ │ ├── vote.go │ │ └── weight.go │ ├── llm/ │ │ └── llm.go │ ├── mcp/ │ │ └── mcp.go │ ├── messenger/ │ │ └── messenger.go │ ├── nodes/ │ │ └── nodes.go │ ├── oauth/ │ │ ├── ERRORS.md │ │ ├── TESTING_GUIDE.md │ │ ├── acl/ │ │ │ ├── DESIGN.md │ │ │ ├── FEATURES_CONFIGURATION.md │ │ │ ├── README.md │ │ │ ├── SCOPES_CONFIGURATION.md │ │ │ ├── acl.go │ │ │ ├── enforce.go │ │ │ ├── errors.go │ │ │ ├── feature.go │ │ │ ├── feature_integration_test.go │ │ │ ├── feature_test.go │ │ │ ├── interfaces.go │ │ │ ├── role/ │ │ │ │ ├── cache.go │ │ │ │ ├── role.go │ │ │ │ ├── types.go │ │ │ │ └── utils.go │ │ │ ├── scope.go │ │ │ ├── scope_test.go │ │ │ └── types.go │ │ ├── apikey.go │ │ ├── authenticate.go │ │ ├── authorized/ │ │ │ ├── utils.go │ │ │ └── utils_test.go │ │ ├── client.go │ │ ├── client_test.go │ │ ├── core.go │ │ ├── core_test.go │ │ ├── device.go │ │ ├── discovery.go │ │ ├── guard.go │ │ ├── mcp.go │ │ ├── oauth.go │ │ ├── oauth_test.go │ │ ├── providers/ │ │ │ ├── client/ │ │ │ │ ├── default.go │ │ │ │ └── default_test.go │ │ │ └── user/ │ │ │ ├── default.go │ │ │ ├── exists_test.go │ │ │ ├── invitation.go │ │ │ ├── invitation_test.go │ │ │ ├── member.go │ │ │ ├── member_test.go │ │ │ ├── oauth_account.go │ │ │ ├── oauth_account_test.go │ │ │ ├── role.go │ │ │ ├── role_test.go │ │ │ ├── team.go │ │ │ ├── team_test.go │ │ │ ├── type.go │ │ │ ├── type_test.go │ │ │ ├── user_basic.go │ │ │ ├── user_basic_test.go │ │ │ ├── user_list.go │ │ │ ├── user_list_test.go │ │ │ ├── user_mfa.go │ │ │ ├── user_mfa_test.go │ │ │ ├── user_role_type.go │ │ │ ├── user_role_type_test.go │ │ │ ├── user_test.go │ │ │ ├── utils.go │ │ │ └── utils_test.go │ │ ├── security.go │ │ ├── security_test.go │ │ ├── signing.go │ │ ├── token.go │ │ ├── token_test.go │ │ ├── types/ │ │ │ ├── authorized.go │ │ │ ├── authorized_test.go │ │ │ ├── errors.go │ │ │ ├── interfaces.go │ │ │ ├── oidc.go │ │ │ ├── types.go │ │ │ └── utils.go │ │ ├── user.go │ │ └── user_test.go │ ├── oauth.go │ ├── openapi.go │ ├── otp/ │ │ ├── DESIGN.md │ │ ├── README.md │ │ ├── generate.go │ │ ├── handler.go │ │ ├── login.go │ │ ├── otp.go │ │ ├── process.go │ │ ├── revoke.go │ │ └── verify.go │ ├── request/ │ │ └── REQUEST_DESIGN.md │ ├── response/ │ │ └── response.go │ ├── sandbox/ │ │ ├── manage.go │ │ └── sandbox.go │ ├── tai/ │ │ ├── proxy.go │ │ ├── tai.go │ │ ├── util.go │ │ └── vnc.go │ ├── team/ │ │ └── team.go │ ├── tests/ │ │ ├── agent/ │ │ │ ├── assistant_create_test.go │ │ │ ├── assistant_test.go │ │ │ ├── assistant_update_test.go │ │ │ ├── models_test.go │ │ │ ├── robot_execution_test.go │ │ │ ├── robot_host_test.go │ │ │ ├── robot_interact_test.go │ │ │ ├── robot_results_activities_test.go │ │ │ ├── robot_test.go │ │ │ └── robot_trigger_test.go │ │ ├── chat/ │ │ │ ├── reference_test.go │ │ │ └── session_test.go │ │ ├── config_test.go │ │ ├── dsl/ │ │ │ └── dsl_test.go │ │ ├── file/ │ │ │ └── file_test.go │ │ ├── hello/ │ │ │ └── hello_test.go │ │ ├── integrations_webhook_test.go │ │ ├── kb/ │ │ │ ├── addfile_test.go │ │ │ ├── addtext_test.go │ │ │ ├── addurl_test.go │ │ │ ├── collection_process_test.go │ │ │ ├── collection_test.go │ │ │ ├── document_test.go │ │ │ └── utils_test.go │ │ ├── nodes/ │ │ │ └── nodes_test.go │ │ ├── oauth/ │ │ │ ├── acl/ │ │ │ │ ├── acl_test.go │ │ │ │ ├── enforce_test.go │ │ │ │ ├── role/ │ │ │ │ │ └── role_test.go │ │ │ │ ├── scope_atomic_test.go │ │ │ │ └── scope_test.go │ │ │ ├── authorized_test.go │ │ │ ├── device_test.go │ │ │ ├── guard_test.go │ │ │ ├── oauth_test.go │ │ │ └── token_test.go │ │ ├── openapi_test.go │ │ ├── otp/ │ │ │ └── otp_test.go │ │ ├── sandbox/ │ │ │ └── sandbox_test.go │ │ ├── testutils/ │ │ │ └── testutils.go │ │ ├── trace/ │ │ │ ├── common_test.go │ │ │ ├── events_test.go │ │ │ ├── info_test.go │ │ │ ├── logs_test.go │ │ │ ├── nodes_test.go │ │ │ └── spaces_test.go │ │ ├── user/ │ │ │ ├── config_functions_test.go │ │ │ ├── config_loading_test.go │ │ │ ├── config_validation_test.go │ │ │ ├── entry_test.go │ │ │ ├── env_test.go │ │ │ ├── env_var_extraction_test.go │ │ │ ├── invitation_test.go │ │ │ ├── login_config_test.go │ │ │ ├── login_test.go │ │ │ ├── member_test.go │ │ │ ├── oauth_authorize_test.go │ │ │ ├── oauth_callback_test.go │ │ │ ├── profile_test.go │ │ │ ├── team_config_robot_test.go │ │ │ ├── team_config_test.go │ │ │ ├── team_test.go │ │ │ └── utils_test.go │ │ └── workspace/ │ │ └── workspace_test.go │ ├── trace/ │ │ ├── README.md │ │ ├── events.go │ │ ├── helpers.go │ │ ├── info.go │ │ ├── logs.go │ │ ├── nodes.go │ │ ├── spaces.go │ │ └── trace.go │ ├── types.go │ ├── user/ │ │ ├── README.md │ │ ├── TODO.md │ │ ├── account.go │ │ ├── config.go │ │ ├── entry.go │ │ ├── features.go │ │ ├── login.go │ │ ├── member.go │ │ ├── oauth.go │ │ ├── profile.go │ │ ├── provider.go │ │ ├── team.go │ │ ├── team_invitation.go │ │ ├── types.go │ │ ├── user.go │ │ └── utils.go │ ├── utils/ │ │ ├── convert.go │ │ └── session.go │ ├── well-known.go │ └── workspace/ │ └── workspace.go ├── pack/ │ └── pack.go ├── pipe/ │ ├── README.md │ ├── context.go │ ├── expression.go │ ├── json.go │ ├── node.go │ ├── pipe.go │ ├── pipe_test.go │ ├── process.go │ ├── process_test.go │ ├── types.go │ ├── ui/ │ │ └── cli/ │ │ └── cli.go │ └── utils.go ├── plugin/ │ ├── README.md │ ├── plugin.go │ └── plugin_test.go ├── query/ │ ├── README.md │ ├── query.go │ └── query_test.go ├── registry/ │ ├── README.md │ ├── client.go │ ├── client_test.go │ ├── manager/ │ │ ├── agent/ │ │ │ ├── add.go │ │ │ ├── agent.go │ │ │ ├── agent_test.go │ │ │ ├── fork.go │ │ │ ├── push.go │ │ │ ├── scan.go │ │ │ └── update.go │ │ ├── agent_e2e_test.go │ │ ├── common/ │ │ │ ├── deps.go │ │ │ ├── deps_test.go │ │ │ ├── hash.go │ │ │ ├── hash_test.go │ │ │ ├── lockfile.go │ │ │ ├── lockfile_test.go │ │ │ ├── packer.go │ │ │ ├── packer_test.go │ │ │ ├── path.go │ │ │ ├── path_test.go │ │ │ ├── prompt.go │ │ │ ├── prompt_test.go │ │ │ └── types.go │ │ ├── e2e_helpers_test.go │ │ ├── mcp/ │ │ │ ├── add.go │ │ │ ├── fork.go │ │ │ ├── mcp.go │ │ │ ├── mcp_test.go │ │ │ ├── push.go │ │ │ ├── script.go │ │ │ └── update.go │ │ ├── mcp_e2e_test.go │ │ ├── robot/ │ │ │ ├── add.go │ │ │ ├── deps.go │ │ │ ├── robot.go │ │ │ └── robot_test.go │ │ └── robot_e2e_test.go │ └── testdata/ │ └── build.go ├── rss/ │ ├── README.md │ ├── atom.go │ ├── atom_test.go │ ├── build.go │ ├── build_atom.go │ ├── build_rss.go │ ├── build_test.go │ ├── convert.go │ ├── discover.go │ ├── discover_test.go │ ├── fetch.go │ ├── fetch_test.go │ ├── parse.go │ ├── parse_test.go │ ├── process.go │ ├── rss.go │ ├── rss_test.go │ └── types.go ├── runtime/ │ ├── runtime.go │ └── runtime_test.go ├── sandbox/ │ ├── DESIGN-PLAYWRIGHT-VNC.md │ ├── DESIGN.md │ ├── PLAN.md │ ├── README.md │ ├── SPEC.md │ ├── bridge/ │ │ └── main.go │ ├── config.go │ ├── config_test.go │ ├── docker/ │ │ ├── base/ │ │ │ └── Dockerfile.base │ │ ├── browser/ │ │ │ └── Dockerfile │ │ ├── build.sh │ │ ├── chrome/ │ │ │ ├── Dockerfile │ │ │ ├── config/ │ │ │ │ ├── chrome-preferences.json │ │ │ │ └── stealth-init.js │ │ │ └── tests/ │ │ │ ├── README.md │ │ │ ├── demo-baidu.py │ │ │ ├── demo-duckduckgo.py │ │ │ └── demo-llm-vision.py │ │ ├── claude/ │ │ │ ├── Dockerfile │ │ │ └── Dockerfile.full │ │ ├── desktop/ │ │ │ ├── Dockerfile │ │ │ └── config/ │ │ │ ├── panel-launcher-chromium.desktop │ │ │ ├── setup-xfce.sh │ │ │ └── workspace.desktop │ │ └── vnc/ │ │ ├── entrypoint-vnc.sh │ │ └── start-vnc.sh │ ├── errors.go │ ├── helpers.go │ ├── helpers_test.go │ ├── ipc/ │ │ ├── jsonrpc_test.go │ │ ├── manager.go │ │ ├── manager_test.go │ │ ├── session.go │ │ ├── session_test.go │ │ └── types.go │ ├── manager.go │ ├── manager_test.go │ ├── proxy/ │ │ ├── README.md │ │ ├── cmd/ │ │ │ └── claude-proxy/ │ │ │ └── main.go │ │ ├── convert.go │ │ ├── main.go │ │ └── types.go │ ├── types.go │ ├── v2/ │ │ ├── DESIGN.md │ │ ├── IMPL.md │ │ ├── Makefile │ │ ├── TEST.md │ │ ├── bench_test.go │ │ ├── box.go │ │ ├── box_attach_test.go │ │ ├── box_image_test.go │ │ ├── box_test.go │ │ ├── box_workspace_test.go │ │ ├── docs/ │ │ │ └── API.md │ │ ├── errors.go │ │ ├── export_test.go │ │ ├── grpc.go │ │ ├── grpc_test.go │ │ ├── host.go │ │ ├── host_test.go │ │ ├── jsapi/ │ │ │ ├── API.md │ │ │ ├── computer.go │ │ │ ├── jsapi.go │ │ │ ├── jsapi_test.go │ │ │ └── node.go │ │ ├── manager.go │ │ ├── manager_lifecycle_test.go │ │ ├── manager_test.go │ │ ├── sandbox.go │ │ ├── sandbox_test.go │ │ ├── testutils_containerized_test.go │ │ ├── testutils_k8s_test.go │ │ ├── testutils_remote_test.go │ │ ├── testutils_test.go │ │ ├── testutils_wintest_test.go │ │ ├── types.go │ │ └── watcher.go │ └── vncproxy/ │ ├── config.go │ ├── proxy.go │ └── proxy_test.go ├── schedule/ │ ├── schedule.go │ └── schedule_test.go ├── script/ │ ├── script.go │ └── script_test.go ├── seed/ │ ├── process.go │ ├── process_test.go │ ├── seed.go │ ├── seed_reset_test.go │ ├── seed_test.go │ └── types.go ├── service/ │ ├── dynamic.go │ ├── dynamic_test.go │ ├── fs/ │ │ ├── default.go │ │ └── utils.go │ ├── guards.go │ ├── gzip.go │ ├── log/ │ │ ├── access.go │ │ └── access_test.go │ ├── middleware.go │ ├── service.go │ ├── service_test.go │ ├── static.go │ ├── watch.go │ └── watch_test.go ├── setup/ │ ├── check.go │ ├── check_test.go │ ├── install.go │ ├── install_test.go │ └── setup.go ├── share/ │ ├── api.go │ ├── api_test.go │ ├── app.go │ ├── columns.go │ ├── const.go │ ├── db.go │ ├── filters.go │ ├── importable.go │ ├── importable_test.go │ ├── session.go │ ├── types.go │ ├── utils.go │ ├── watch.go │ └── watch_test.go ├── sitemap/ │ ├── README.md │ ├── build.go │ ├── build_test.go │ ├── convert.go │ ├── convert_test.go │ ├── discover.go │ ├── fetch.go │ ├── fetch_test.go │ ├── parse.go │ ├── parse_test.go │ ├── process.go │ ├── robots.go │ ├── robots_test.go │ └── types.go ├── store/ │ ├── store.go │ └── store_test.go ├── sui/ │ ├── README.md │ ├── api/ │ │ ├── api.go │ │ ├── build_test.go │ │ ├── guards.go │ │ ├── process.go │ │ ├── process_test.go │ │ ├── render.go │ │ ├── render_test.go │ │ ├── request.go │ │ ├── request_test.go │ │ ├── run.go │ │ ├── sui.go │ │ └── sui_test.go │ ├── core/ │ │ ├── block.go │ │ ├── build.go │ │ ├── cache.go │ │ ├── compile.go │ │ ├── component.go │ │ ├── context.go │ │ ├── core.go │ │ ├── data.go │ │ ├── editor.go │ │ ├── event.go │ │ ├── fs.go │ │ ├── injections.go │ │ ├── interfaces.go │ │ ├── jit.go │ │ ├── json.go │ │ ├── json_test.go │ │ ├── locale.go │ │ ├── locale_test.go │ │ ├── matcher.go │ │ ├── page.go │ │ ├── page_test.go │ │ ├── parser.go │ │ ├── parser_test.go │ │ ├── preview.go │ │ ├── request.go │ │ ├── script.go │ │ ├── sui.go │ │ ├── sui_test.go │ │ ├── token.go │ │ ├── token_test.go │ │ ├── translate.go │ │ ├── types.go │ │ └── utils.go │ ├── docs/ │ │ ├── agent-sui.md │ │ ├── backend-scripts.md │ │ ├── components.md │ │ ├── data-binding.md │ │ ├── event-handling.md │ │ ├── frontend-api.md │ │ ├── i18n.md │ │ ├── page-config.md │ │ ├── routing.md │ │ └── template-syntax.md │ ├── libsui/ │ │ ├── index.ts │ │ ├── openapi.ts │ │ ├── utils.ts │ │ └── yao.ts │ └── storages/ │ ├── agent/ │ │ ├── agent.go │ │ ├── agent_test.go │ │ ├── page.go │ │ ├── template.go │ │ └── types.go │ ├── azure/ │ │ └── azure.go │ └── local/ │ ├── block.go │ ├── block_test.go │ ├── build.go │ ├── build_test.go │ ├── component.go │ ├── component_test.go │ ├── copy.go │ ├── local.go │ ├── local_test.go │ ├── page.go │ ├── page_render_test.go │ ├── page_test.go │ ├── template.go │ ├── template_test.go │ └── types.go ├── tai/ │ ├── api/ │ │ ├── register.go │ │ └── register_test.go │ ├── conn.go │ ├── dial.go │ ├── docs/ │ │ ├── README.md │ │ ├── api.md │ │ ├── proxy.md │ │ ├── registry.md │ │ ├── sandbox.md │ │ ├── tunnel.md │ │ ├── vnc.md │ │ ├── volume.md │ │ └── workspace.md │ ├── heartbeat.go │ ├── hostexec/ │ │ ├── local.go │ │ └── pb/ │ │ ├── hostexec.pb.go │ │ ├── hostexec.proto │ │ └── hostexec_grpc.pb.go │ ├── proxy/ │ │ ├── connect.go │ │ ├── proxy.go │ │ └── proxy_test.go │ ├── registry/ │ │ ├── registry.go │ │ ├── registry_test.go │ │ └── testing.go │ ├── runtime/ │ │ ├── client_accessor.go │ │ ├── docker.go │ │ ├── docker_core.go │ │ ├── image.go │ │ ├── image_docker.go │ │ ├── image_k8s.go │ │ ├── k8s.go │ │ ├── local.go │ │ ├── runtime_test.go │ │ └── sandbox.go │ ├── serverinfo/ │ │ └── pb/ │ │ ├── serverinfo.pb.go │ │ ├── serverinfo.proto │ │ └── serverinfo_grpc.pb.go │ ├── sysinfo.go │ ├── tai.go │ ├── tai_test.go │ ├── taiid/ │ │ ├── taiid.go │ │ └── taiid_test.go │ ├── token.go │ ├── tunnel/ │ │ ├── forward.go │ │ ├── forward_test.go │ │ ├── grpc_handler.go │ │ ├── grpc_handler_test.go │ │ ├── proto/ │ │ │ └── tunnel.proto │ │ ├── server.go │ │ ├── server_test.go │ │ └── taipb/ │ │ ├── tunnel.pb.go │ │ └── tunnel_grpc.pb.go │ ├── types/ │ │ └── types.go │ ├── vnc/ │ │ ├── vnc.go │ │ └── vnc_test.go │ ├── volume/ │ │ ├── local.go │ │ ├── mock_test.go │ │ ├── pb/ │ │ │ ├── volume.pb.go │ │ │ ├── volume.proto │ │ │ └── volume_grpc.pb.go │ │ ├── remote.go │ │ ├── volume.go │ │ └── volume_test.go │ ├── workspace/ │ │ ├── copy.go │ │ ├── uri.go │ │ ├── workspace.go │ │ └── workspace_test.go │ └── yao.go ├── task/ │ ├── task.go │ └── task_test.go ├── test/ │ ├── request.go │ └── utils.go ├── trace/ │ ├── BUGFIX.md │ ├── KNOWN_ISSUES.md │ ├── README.md │ ├── event_listener.go │ ├── handler.go │ ├── jsapi/ │ │ ├── jsapi.go │ │ ├── jsapi_test.go │ │ ├── node.go │ │ ├── space.go │ │ └── trace.go │ ├── local/ │ │ └── driver.go │ ├── manager.go │ ├── node.go │ ├── space.go │ ├── state.go │ ├── store/ │ │ └── driver.go │ ├── subscription.go │ ├── test_helpers.go │ ├── trace.go │ ├── trace_archive_test.go │ ├── trace_autocomplete_test.go │ ├── trace_basic_test.go │ ├── trace_bench_test.go │ ├── trace_concurrent_test.go │ ├── trace_lifecycle_test.go │ ├── trace_mem_test.go │ ├── trace_node_test.go │ ├── trace_resource_test.go │ ├── trace_space_test.go │ ├── trace_subscription_leak_test.go │ ├── trace_subscription_test.go │ └── types/ │ ├── driver.go │ ├── events.go │ ├── interfaces.go │ └── types.go ├── utils/ │ ├── README.md │ ├── captcha/ │ │ ├── captcha.go │ │ ├── captcha_test.go │ │ └── process.go │ ├── datetime/ │ │ └── now.go │ ├── datetime_test.go │ ├── fmt/ │ │ └── fmt.go │ ├── json/ │ │ └── json.go │ ├── jsonschema/ │ │ ├── jsonschema.go │ │ └── jsonschema_test.go │ ├── otp/ │ │ ├── otp.go │ │ ├── otp_test.go │ │ └── process.go │ ├── process.go │ ├── str/ │ │ └── str.go │ ├── str_test.go │ ├── throw/ │ │ └── throw.go │ ├── throw_test.go │ ├── tree/ │ │ └── tree.go │ ├── tree_test.go │ ├── url/ │ │ └── url.go │ └── url_test.go ├── wework/ │ ├── process.go │ ├── wework.go │ ├── wework_test.go │ └── xml.go ├── widget/ │ ├── driver/ │ │ ├── connector.go │ │ └── source.go │ ├── instance.go │ ├── load.go │ ├── load_test.go │ ├── process.go │ ├── process_test.go │ ├── types.go │ ├── widget.go │ └── widget_test.go ├── widgets/ │ ├── action/ │ │ ├── action.go │ │ ├── action_test.go │ │ ├── guard.go │ │ ├── process.go │ │ ├── process_test.go │ │ └── types.go │ ├── action.go │ ├── api.go │ ├── app/ │ │ ├── app.go │ │ ├── app_test.go │ │ └── types.go │ ├── chart/ │ │ ├── action.go │ │ ├── api.go │ │ ├── chart.go │ │ ├── chart_test.go │ │ ├── export.go │ │ ├── fields.go │ │ ├── handler.go │ │ ├── layout.go │ │ ├── mapping.go │ │ ├── process.go │ │ ├── process_test.go │ │ ├── types.go │ │ └── vaildate.go │ ├── component/ │ │ ├── action.go │ │ ├── action_test.go │ │ ├── component.go │ │ ├── compute.go │ │ ├── compute_test.go │ │ ├── handlers.go │ │ ├── process.go │ │ ├── process_test.go │ │ ├── props.go │ │ └── types.go │ ├── compute/ │ │ ├── compute.go │ │ └── types.go │ ├── dashboard/ │ │ ├── action.go │ │ ├── api.go │ │ ├── dashboard.go │ │ ├── dashboard_test.go │ │ ├── export.go │ │ ├── fields.go │ │ ├── handler.go │ │ ├── layout.go │ │ ├── mapping.go │ │ ├── process.go │ │ ├── process_test.go │ │ ├── types.go │ │ └── vaildate.go │ ├── expression/ │ │ ├── expression.go │ │ ├── expression_test.go │ │ └── process.go │ ├── field/ │ │ ├── column.go │ │ ├── column_test.go │ │ ├── field.go │ │ ├── field_test.go │ │ ├── filter.go │ │ ├── filter_test.go │ │ ├── transform.go │ │ ├── transform_test.go │ │ └── types.go │ ├── field.go │ ├── form/ │ │ ├── action.go │ │ ├── api.go │ │ ├── bind.go │ │ ├── export.go │ │ ├── fields.go │ │ ├── form.go │ │ ├── form_test.go │ │ ├── handler.go │ │ ├── layout.go │ │ ├── mapping.go │ │ ├── process.go │ │ ├── process_test.go │ │ ├── types.go │ │ └── vaildate.go │ ├── hook/ │ │ ├── hook.go │ │ └── types.go │ ├── item.go │ ├── list/ │ │ ├── action.go │ │ ├── api.go │ │ ├── bind.go │ │ ├── export.go │ │ ├── fields.go │ │ ├── handler.go │ │ ├── layout.go │ │ ├── list.go │ │ ├── list_test.go │ │ ├── mapping.go │ │ ├── process.go │ │ ├── process_test.go │ │ ├── types.go │ │ └── vaildate.go │ ├── login/ │ │ ├── login.go │ │ ├── login_test.go │ │ ├── process.go │ │ └── types.go │ ├── mapping/ │ │ └── mapping.go │ ├── models.go │ ├── process.go │ ├── process_test.go │ ├── table/ │ │ ├── README.md │ │ ├── action.go │ │ ├── api.go │ │ ├── api_test.go │ │ ├── bind.go │ │ ├── excel.go │ │ ├── export.go │ │ ├── fields.go │ │ ├── fields_test.go │ │ ├── handler.go │ │ ├── layout.go │ │ ├── mapping.go │ │ ├── mapping_test.go │ │ ├── process.go │ │ ├── process_test.go │ │ ├── table.go │ │ ├── table_test.go │ │ ├── types.go │ │ └── validate.go │ ├── widgets.go │ └── widgets_test.go ├── workspace/ │ ├── DESIGN.md │ ├── Makefile │ ├── TEST.md │ ├── bench_test.go │ ├── errors.go │ ├── fileio_test.go │ ├── jsapi/ │ │ ├── API.md │ │ ├── fs.go │ │ ├── jsapi.go │ │ └── jsapi_test.go │ ├── manager.go │ ├── testutils_test.go │ ├── workspace.go │ └── workspace_test.go └── yao/ ├── assistants/ │ ├── entity/ │ │ ├── package.yao │ │ └── prompts.yml │ ├── keyword/ │ │ ├── package.yao │ │ ├── prompts.yml │ │ └── src/ │ │ └── index.ts │ ├── needsearch/ │ │ ├── package.yao │ │ ├── prompts.yml │ │ └── src/ │ │ └── index.ts │ ├── prompt/ │ │ ├── package.yao │ │ └── prompts.yml │ ├── querydsl/ │ │ ├── package.yao │ │ ├── prompts/ │ │ │ ├── aggregation.yml │ │ │ ├── complex.yml │ │ │ ├── filter.yml │ │ │ └── join.yml │ │ ├── prompts.yml │ │ └── src/ │ │ └── index.ts │ ├── robot_prompt/ │ │ ├── package.yao │ │ └── prompts.yml │ └── title/ │ ├── package.yao │ └── prompts.yml ├── data/ │ ├── icons/ │ │ └── icon.icns │ ├── index.html │ └── kb/ │ └── providers/ │ ├── chunking/ │ │ ├── semantic/ │ │ │ ├── en.json │ │ │ └── zh-cn.json │ │ └── structured/ │ │ ├── en.json │ │ └── zh-cn.json │ ├── converter/ │ │ ├── mcp/ │ │ │ ├── en.json │ │ │ └── zh-cn.json │ │ ├── ocr/ │ │ │ ├── en.json │ │ │ └── zh-cn.json │ │ ├── office/ │ │ │ ├── en.json │ │ │ └── zh-cn.json │ │ ├── utf8/ │ │ │ ├── en.json │ │ │ └── zh-cn.json │ │ ├── video/ │ │ │ ├── en.json │ │ │ └── zh-cn.json │ │ ├── vision/ │ │ │ ├── en.json │ │ │ └── zh-cn.json │ │ └── whisper/ │ │ ├── en.json │ │ └── zh-cn.json │ ├── embedding/ │ │ ├── fastembed/ │ │ │ ├── en.json │ │ │ └── zh-cn.json │ │ └── openai/ │ │ ├── en.json │ │ └── zh-cn.json │ ├── extraction/ │ │ └── openai/ │ │ ├── en.json │ │ └── zh-cn.json │ └── fetcher/ │ ├── http/ │ │ ├── en.json │ │ └── zh-cn.json │ └── mcp/ │ ├── en.json │ └── zh-cn.json ├── fields/ │ └── model.trans.json ├── langs/ │ ├── en-US.json │ ├── zh-cn/ │ │ ├── global.yml │ │ └── logins/ │ │ ├── admin.login.yml │ │ └── user.login.yml │ └── zh-hk/ │ ├── global.yml │ └── logins/ │ ├── admin.login.yml │ └── user.login.yml ├── models/ │ ├── agent/ │ │ ├── assistant.mod.yao │ │ ├── chat.mod.yao │ │ ├── execution.mod.yao │ │ ├── message.mod.yao │ │ ├── resume.mod.yao │ │ └── search.mod.yao │ ├── attachment.mod.yao │ ├── audit.mod.yao │ ├── config.mod.yao │ ├── dsl.mod.yao │ ├── invitation.mod.yao │ ├── job/ │ │ ├── category.mod.yao │ │ ├── execution.mod.yao │ │ ├── job.mod.yao │ │ └── log.mod.yao │ ├── kb/ │ │ ├── collection.mod.yao │ │ └── document.mod.yao │ ├── member.mod.yao │ ├── role.mod.yao │ ├── team.mod.yao │ ├── user/ │ │ ├── oauth_account.mod.yao │ │ └── type.mod.yao │ └── user.mod.yao ├── release/ │ └── app.yaz ├── stores/ │ ├── agent/ │ │ ├── cache.lru.yao │ │ └── memory/ │ │ ├── chat.xun.yao │ │ ├── context.xun.yao │ │ ├── team.xun.yao │ │ └── user.xun.yao │ ├── cache.lru.yao │ ├── kb/ │ │ ├── cache.lru.yao │ │ └── store.xun.yao │ ├── oauth/ │ │ ├── cache.lru.yao │ │ ├── client.xun.yao │ │ └── store.xun.yao │ └── store.xun.yao └── uploaders/ └── attachment.local.yao