gitextract_pdoz2d7b/ ├── .dockerignore ├── .env.example ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── 1-bug-report.yml │ │ └── 2-enhancement.yml │ ├── PULL_REQUEST_TEMPLATE.md │ ├── SAVED_REPLIES.md │ └── workflows/ │ └── ci.yml ├── .gitignore ├── .vscode/ │ ├── launch.json │ └── settings.json ├── CLAUDE.md ├── Dockerfile ├── EULA.md ├── LICENSE ├── NOTICE ├── README.md ├── backend/ │ ├── cmd/ │ │ ├── ctester/ │ │ │ ├── main.go │ │ │ ├── models.go │ │ │ ├── report.go │ │ │ └── utils.go │ │ ├── etester/ │ │ │ ├── flush.go │ │ │ ├── info.go │ │ │ ├── main.go │ │ │ ├── reindex.go │ │ │ ├── search.go │ │ │ ├── test.go │ │ │ └── tester.go │ │ ├── ftester/ │ │ │ ├── main.go │ │ │ ├── mocks/ │ │ │ │ ├── logs.go │ │ │ │ └── tools.go │ │ │ └── worker/ │ │ │ ├── args.go │ │ │ ├── executor.go │ │ │ ├── interactive.go │ │ │ └── tester.go │ │ ├── installer/ │ │ │ ├── checker/ │ │ │ │ ├── checker.go │ │ │ │ ├── helpers.go │ │ │ │ └── helpers_test.go │ │ │ ├── files/ │ │ │ │ ├── .gitignore │ │ │ │ ├── files.go │ │ │ │ ├── files_test.go │ │ │ │ └── generate.go │ │ │ ├── hardening/ │ │ │ │ ├── hardening.go │ │ │ │ ├── hardening_test.go │ │ │ │ ├── migrations.go │ │ │ │ ├── migrations_test.go │ │ │ │ ├── network.go │ │ │ │ └── network_test.go │ │ │ ├── loader/ │ │ │ │ ├── example_test.go │ │ │ │ ├── file.go │ │ │ │ ├── loader.go │ │ │ │ └── loader_test.go │ │ │ ├── main.go │ │ │ ├── main_test.go │ │ │ ├── navigator/ │ │ │ │ ├── navigator.go │ │ │ │ └── navigator_test.go │ │ │ ├── processor/ │ │ │ │ ├── compose.go │ │ │ │ ├── docker.go │ │ │ │ ├── fs.go │ │ │ │ ├── fs_test.go │ │ │ │ ├── locale.go │ │ │ │ ├── logic.go │ │ │ │ ├── logic_test.go │ │ │ │ ├── mock_test.go │ │ │ │ ├── model.go │ │ │ │ ├── pg.go │ │ │ │ ├── processor.go │ │ │ │ ├── state.go │ │ │ │ └── update.go │ │ │ ├── state/ │ │ │ │ ├── example_test.go │ │ │ │ ├── state.go │ │ │ │ └── state_test.go │ │ │ └── wizard/ │ │ │ ├── app.go │ │ │ ├── controller/ │ │ │ │ └── controller.go │ │ │ ├── locale/ │ │ │ │ └── locale.go │ │ │ ├── logger/ │ │ │ │ └── logger.go │ │ │ ├── models/ │ │ │ │ ├── ai_agents_settings_form.go │ │ │ │ ├── apply_changes.go │ │ │ │ ├── base_controls.go │ │ │ │ ├── base_screen.go │ │ │ │ ├── docker_form.go │ │ │ │ ├── embedder_form.go │ │ │ │ ├── eula.go │ │ │ │ ├── graphiti_form.go │ │ │ │ ├── helpers/ │ │ │ │ │ ├── calc_context.go │ │ │ │ │ └── calc_context_test.go │ │ │ │ ├── langfuse_form.go │ │ │ │ ├── list_screen.go │ │ │ │ ├── llm_provider_form.go │ │ │ │ ├── llm_providers.go │ │ │ │ ├── main_menu.go │ │ │ │ ├── maintenance.go │ │ │ │ ├── mock_form.go │ │ │ │ ├── monitoring.go │ │ │ │ ├── observability_form.go │ │ │ │ ├── processor_operation_form.go │ │ │ │ ├── reset_password.go │ │ │ │ ├── scraper_form.go │ │ │ │ ├── search_engines_form.go │ │ │ │ ├── server_settings_form.go │ │ │ │ ├── summarizer.go │ │ │ │ ├── summarizer_form.go │ │ │ │ ├── tools.go │ │ │ │ ├── types.go │ │ │ │ └── welcome.go │ │ │ ├── registry/ │ │ │ │ └── registry.go │ │ │ ├── styles/ │ │ │ │ └── styles.go │ │ │ ├── terminal/ │ │ │ │ ├── key2uv.go │ │ │ │ ├── pty_unix.go │ │ │ │ ├── pty_windows.go │ │ │ │ ├── teacmd.go │ │ │ │ ├── teacmd_test.go │ │ │ │ ├── terminal.go │ │ │ │ ├── terminal_test.go │ │ │ │ └── vt/ │ │ │ │ ├── callbacks.go │ │ │ │ ├── cc.go │ │ │ │ ├── charset.go │ │ │ │ ├── csi.go │ │ │ │ ├── csi_cursor.go │ │ │ │ ├── csi_mode.go │ │ │ │ ├── csi_screen.go │ │ │ │ ├── csi_sgr.go │ │ │ │ ├── cursor.go │ │ │ │ ├── dcs.go │ │ │ │ ├── esc.go │ │ │ │ ├── focus.go │ │ │ │ ├── handlers.go │ │ │ │ ├── key.go │ │ │ │ ├── mode.go │ │ │ │ ├── mouse.go │ │ │ │ ├── osc.go │ │ │ │ ├── screen.go │ │ │ │ ├── terminal.go │ │ │ │ ├── terminal_test.go │ │ │ │ ├── utf8.go │ │ │ │ └── utils.go │ │ │ └── window/ │ │ │ ├── window.go │ │ │ └── window_test.go │ │ └── pentagi/ │ │ ├── main.go │ │ └── tools.go │ ├── docs/ │ │ ├── analytics_api.md │ │ ├── chain_ast.md │ │ ├── chain_summary.md │ │ ├── charm.md │ │ ├── config.md │ │ ├── controller.md │ │ ├── database.md │ │ ├── docker.md │ │ ├── flow_execution.md │ │ ├── gemini.md │ │ ├── installer/ │ │ │ ├── charm-architecture-patterns.md │ │ │ ├── charm-best-practices.md │ │ │ ├── charm-core-libraries.md │ │ │ ├── charm-debugging-guide.md │ │ │ ├── charm-form-patterns.md │ │ │ ├── charm-navigation-patterns.md │ │ │ ├── checker-test-scenarios.md │ │ │ ├── checker.md │ │ │ ├── installer-architecture-design.md │ │ │ ├── installer-base-screen.md │ │ │ ├── installer-overview.md │ │ │ ├── installer-troubleshooting.md │ │ │ ├── processor-implementation.md │ │ │ ├── processor-logic-implementation.md │ │ │ ├── processor-wizard-integration.md │ │ │ ├── processor.md │ │ │ ├── reference-config-pattern.md │ │ │ └── terminal-wizard-integration.md │ │ ├── installer.md │ │ ├── langfuse.md │ │ ├── llms_how_to.md │ │ ├── observability.md │ │ ├── ollama.md │ │ ├── prompt_engineering_openai.md │ │ └── prompt_engineering_pentagi.md │ ├── fern/ │ │ ├── fern.config.json │ │ ├── generators.yml │ │ └── langfuse/ │ │ └── openapi.yml │ ├── go.mod │ ├── go.sum │ ├── gqlgen/ │ │ └── gqlgen.yml │ ├── migrations/ │ │ ├── migrations.go │ │ └── sql/ │ │ ├── 20241026_115120_initial_state.sql │ │ ├── 20241130_183411_new_type_logs.sql │ │ ├── 20241215_132209_new_user_role.sql │ │ ├── 20241222_171335_msglog_result_format.sql │ │ ├── 20250102_152614_flow_trace_id.sql │ │ ├── 20250103_1215631_new_msgchain_type_fixer.sql │ │ ├── 20250322_172248_new_searchengine_types.sql │ │ ├── 20250331_200137_assistant_mode.sql │ │ ├── 20250412_181121_subtask_context copy.sql │ │ ├── 20250414_213004_thinking_msg_part.sql │ │ ├── 20250419_100249_new_logs_indices.sql │ │ ├── 20250420_120356_settings_permission.sql │ │ ├── 20250701_094823_base_settings.sql │ │ ├── 20250821_123456_add_searxng_search_type.sql │ │ ├── 20250901_165149_remove_input_idx.sql │ │ ├── 20251028_113516_remove_result_idx.sql │ │ ├── 20251102_194813_remove_description_idx.sql │ │ ├── 20260128_153000_tool_call_id_template.sql │ │ ├── 20260129_120000_add_tracking_fields.sql │ │ ├── 20260218_150000_api_tokens.sql │ │ ├── 20260222_140000_user_preferences.sql │ │ ├── 20260223_120000_add_sploitus_search_type.sql │ │ ├── 20260227_120000_add_cn_providers.sql │ │ └── 20260310_153000_agent_supervision.sql │ ├── pkg/ │ │ ├── cast/ │ │ │ ├── chain_ast.go │ │ │ ├── chain_ast_test.go │ │ │ └── chain_data_test.go │ │ ├── config/ │ │ │ ├── config.go │ │ │ └── config_test.go │ │ ├── controller/ │ │ │ ├── alog.go │ │ │ ├── alogs.go │ │ │ ├── aslog.go │ │ │ ├── aslogs.go │ │ │ ├── assistant.go │ │ │ ├── context.go │ │ │ ├── flow.go │ │ │ ├── flows.go │ │ │ ├── msglog.go │ │ │ ├── msglogs.go │ │ │ ├── screenshot.go │ │ │ ├── screenshots.go │ │ │ ├── slog.go │ │ │ ├── slogs.go │ │ │ ├── subtask.go │ │ │ ├── subtasks.go │ │ │ ├── task.go │ │ │ ├── tasks.go │ │ │ ├── termlog.go │ │ │ ├── termlogs.go │ │ │ ├── vslog.go │ │ │ └── vslogs.go │ │ ├── csum/ │ │ │ ├── chain_summary.go │ │ │ ├── chain_summary_e2e_test.go │ │ │ ├── chain_summary_reasoning_test.go │ │ │ └── chain_summary_split_test.go │ │ ├── database/ │ │ │ ├── agentlogs.sql.go │ │ │ ├── analytics.sql.go │ │ │ ├── api_token_with_secret.go │ │ │ ├── api_tokens.sql.go │ │ │ ├── assistantlogs.sql.go │ │ │ ├── assistants.sql.go │ │ │ ├── containers.sql.go │ │ │ ├── converter/ │ │ │ │ ├── analytics.go │ │ │ │ ├── analytics_test.go │ │ │ │ ├── converter.go │ │ │ │ └── converter_test.go │ │ │ ├── database.go │ │ │ ├── db.go │ │ │ ├── flows.sql.go │ │ │ ├── models.go │ │ │ ├── msgchains.sql.go │ │ │ ├── msglogs.sql.go │ │ │ ├── prompts.sql.go │ │ │ ├── providers.sql.go │ │ │ ├── querier.go │ │ │ ├── roles.sql.go │ │ │ ├── screenshots.sql.go │ │ │ ├── searchlogs.sql.go │ │ │ ├── subtasks.sql.go │ │ │ ├── tasks.sql.go │ │ │ ├── termlogs.sql.go │ │ │ ├── toolcalls.sql.go │ │ │ ├── user_preferences.sql.go │ │ │ ├── users.sql.go │ │ │ └── vecstorelogs.sql.go │ │ ├── docker/ │ │ │ └── client.go │ │ ├── graph/ │ │ │ ├── context.go │ │ │ ├── context_test.go │ │ │ ├── generated.go │ │ │ ├── model/ │ │ │ │ └── models_gen.go │ │ │ ├── resolver.go │ │ │ ├── schema.graphqls │ │ │ ├── schema.resolvers.go │ │ │ └── subscriptions/ │ │ │ ├── controller.go │ │ │ ├── publisher.go │ │ │ └── subscriber.go │ │ ├── graphiti/ │ │ │ └── client.go │ │ ├── observability/ │ │ │ ├── collector.go │ │ │ ├── langfuse/ │ │ │ │ ├── agent.go │ │ │ │ ├── api/ │ │ │ │ │ ├── .fern/ │ │ │ │ │ │ └── metadata.json │ │ │ │ │ ├── README.md │ │ │ │ │ ├── annotationqueues/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── annotationqueues.go │ │ │ │ │ ├── blobstorageintegrations/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── blobstorageintegrations.go │ │ │ │ │ ├── client/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── client_test.go │ │ │ │ │ ├── comments/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── comments.go │ │ │ │ │ ├── core/ │ │ │ │ │ │ ├── api_error.go │ │ │ │ │ │ ├── http.go │ │ │ │ │ │ └── request_option.go │ │ │ │ │ ├── datasetitems/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── datasetitems.go │ │ │ │ │ ├── datasetrunitems/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── datasetrunitems.go │ │ │ │ │ ├── datasets/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── datasets.go │ │ │ │ │ ├── error_codes.go │ │ │ │ │ ├── errors.go │ │ │ │ │ ├── file_param.go │ │ │ │ │ ├── health/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── health.go │ │ │ │ │ ├── ingestion/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── ingestion.go │ │ │ │ │ ├── internal/ │ │ │ │ │ │ ├── caller.go │ │ │ │ │ │ ├── caller_test.go │ │ │ │ │ │ ├── error_decoder.go │ │ │ │ │ │ ├── error_decoder_test.go │ │ │ │ │ │ ├── explicit_fields.go │ │ │ │ │ │ ├── explicit_fields_test.go │ │ │ │ │ │ ├── extra_properties.go │ │ │ │ │ │ ├── extra_properties_test.go │ │ │ │ │ │ ├── http.go │ │ │ │ │ │ ├── query.go │ │ │ │ │ │ ├── query_test.go │ │ │ │ │ │ ├── retrier.go │ │ │ │ │ │ ├── retrier_test.go │ │ │ │ │ │ ├── stringer.go │ │ │ │ │ │ └── time.go │ │ │ │ │ ├── llmconnections/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── llmconnections.go │ │ │ │ │ ├── media/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── media.go │ │ │ │ │ ├── metrics/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── metrics.go │ │ │ │ │ ├── metricsv2/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── metricsv2.go │ │ │ │ │ ├── models/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── models.go │ │ │ │ │ ├── observations/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── observations.go │ │ │ │ │ ├── observationsv2/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── observationsv2.go │ │ │ │ │ ├── opentelemetry/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── opentelemetry.go │ │ │ │ │ ├── option/ │ │ │ │ │ │ └── request_option.go │ │ │ │ │ ├── organizations/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── organizations.go │ │ │ │ │ ├── pointer.go │ │ │ │ │ ├── projects/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── projects.go │ │ │ │ │ ├── prompts/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── prompts.go │ │ │ │ │ ├── promptversion/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── promptversion.go │ │ │ │ │ ├── reference.md │ │ │ │ │ ├── scim/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── scim.go │ │ │ │ │ ├── score/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── score.go │ │ │ │ │ ├── scoreconfigs/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── scoreconfigs.go │ │ │ │ │ ├── scorev2/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── scorev2.go │ │ │ │ │ ├── sessions/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── sessions.go │ │ │ │ │ ├── trace/ │ │ │ │ │ │ ├── client.go │ │ │ │ │ │ └── raw_client.go │ │ │ │ │ ├── trace.go │ │ │ │ │ └── types.go │ │ │ │ ├── chain.go │ │ │ │ ├── client.go │ │ │ │ ├── context.go │ │ │ │ ├── converter.go │ │ │ │ ├── converter_test.go │ │ │ │ ├── embedding.go │ │ │ │ ├── evaluator.go │ │ │ │ ├── event.go │ │ │ │ ├── generation.go │ │ │ │ ├── guardrail.go │ │ │ │ ├── helpers.go │ │ │ │ ├── noop.go │ │ │ │ ├── observation.go │ │ │ │ ├── observer.go │ │ │ │ ├── options.go │ │ │ │ ├── retriever.go │ │ │ │ ├── score.go │ │ │ │ ├── span.go │ │ │ │ ├── tool.go │ │ │ │ └── trace.go │ │ │ ├── lfclient.go │ │ │ ├── obs.go │ │ │ ├── otelclient.go │ │ │ └── profiling/ │ │ │ └── profiling.go │ │ ├── providers/ │ │ │ ├── anthropic/ │ │ │ │ ├── anthropic.go │ │ │ │ ├── anthropic_test.go │ │ │ │ ├── config.yml │ │ │ │ └── models.yml │ │ │ ├── assistant.go │ │ │ ├── bedrock/ │ │ │ │ ├── bedrock.go │ │ │ │ ├── bedrock_test.go │ │ │ │ ├── config.yml │ │ │ │ └── models.yml │ │ │ ├── custom/ │ │ │ │ ├── custom.go │ │ │ │ ├── custom_test.go │ │ │ │ └── example_test.go │ │ │ ├── deepseek/ │ │ │ │ ├── config.yml │ │ │ │ ├── deepseek.go │ │ │ │ ├── deepseek_test.go │ │ │ │ └── models.yml │ │ │ ├── embeddings/ │ │ │ │ ├── embedder.go │ │ │ │ ├── embedder_test.go │ │ │ │ └── wrapper.go │ │ │ ├── gemini/ │ │ │ │ ├── config.yml │ │ │ │ ├── gemini.go │ │ │ │ ├── gemini_test.go │ │ │ │ └── models.yml │ │ │ ├── glm/ │ │ │ │ ├── config.yml │ │ │ │ ├── glm.go │ │ │ │ ├── glm_test.go │ │ │ │ └── models.yml │ │ │ ├── handlers.go │ │ │ ├── helpers.go │ │ │ ├── helpers_test.go │ │ │ ├── kimi/ │ │ │ │ ├── config.yml │ │ │ │ ├── kimi.go │ │ │ │ ├── kimi_test.go │ │ │ │ └── models.yml │ │ │ ├── ollama/ │ │ │ │ ├── config.yml │ │ │ │ ├── ollama.go │ │ │ │ └── ollama_test.go │ │ │ ├── openai/ │ │ │ │ ├── config.yml │ │ │ │ ├── models.yml │ │ │ │ ├── openai.go │ │ │ │ └── openai_test.go │ │ │ ├── pconfig/ │ │ │ │ ├── config.go │ │ │ │ └── config_test.go │ │ │ ├── performer.go │ │ │ ├── performers.go │ │ │ ├── provider/ │ │ │ │ ├── agents.go │ │ │ │ ├── agents_test.go │ │ │ │ ├── litellm.go │ │ │ │ ├── litellm_test.go │ │ │ │ ├── provider.go │ │ │ │ └── wrapper.go │ │ │ ├── provider.go │ │ │ ├── providers.go │ │ │ ├── qwen/ │ │ │ │ ├── config.yml │ │ │ │ ├── models.yml │ │ │ │ ├── qwen.go │ │ │ │ └── qwen_test.go │ │ │ ├── subtask_patch.go │ │ │ ├── subtask_patch_test.go │ │ │ └── tester/ │ │ │ ├── config.go │ │ │ ├── mock/ │ │ │ │ └── provider.go │ │ │ ├── result.go │ │ │ ├── runner.go │ │ │ ├── runner_test.go │ │ │ └── testdata/ │ │ │ ├── completion.go │ │ │ ├── completion_test.go │ │ │ ├── json.go │ │ │ ├── json_test.go │ │ │ ├── models.go │ │ │ ├── registry.go │ │ │ ├── registry_test.go │ │ │ ├── result.go │ │ │ ├── tests.yml │ │ │ ├── tool.go │ │ │ └── tool_test.go │ │ ├── queue/ │ │ │ ├── queue.go │ │ │ └── queue_test.go │ │ ├── schema/ │ │ │ └── schema.go │ │ ├── server/ │ │ │ ├── auth/ │ │ │ │ ├── api_token_cache.go │ │ │ │ ├── api_token_cache_test.go │ │ │ │ ├── api_token_id.go │ │ │ │ ├── api_token_id_test.go │ │ │ │ ├── api_token_jwt.go │ │ │ │ ├── api_token_test.go │ │ │ │ ├── auth_middleware.go │ │ │ │ ├── auth_middleware_test.go │ │ │ │ ├── integration_test.go │ │ │ │ ├── permissions.go │ │ │ │ ├── permissions_test.go │ │ │ │ ├── session.go │ │ │ │ ├── session_test.go │ │ │ │ ├── users_cache.go │ │ │ │ └── users_cache_test.go │ │ │ ├── context/ │ │ │ │ ├── context.go │ │ │ │ └── context_test.go │ │ │ ├── docs/ │ │ │ │ ├── docs.go │ │ │ │ ├── swagger.json │ │ │ │ └── swagger.yaml │ │ │ ├── logger/ │ │ │ │ └── logger.go │ │ │ ├── middleware.go │ │ │ ├── models/ │ │ │ │ ├── agentlogs.go │ │ │ │ ├── analytics.go │ │ │ │ ├── api_tokens.go │ │ │ │ ├── assistantlogs.go │ │ │ │ ├── assistants.go │ │ │ │ ├── containers.go │ │ │ │ ├── flows.go │ │ │ │ ├── init.go │ │ │ │ ├── msgchains.go │ │ │ │ ├── msglogs.go │ │ │ │ ├── prompts.go │ │ │ │ ├── providers.go │ │ │ │ ├── roles.go │ │ │ │ ├── screenshots.go │ │ │ │ ├── searchlogs.go │ │ │ │ ├── subtasks.go │ │ │ │ ├── tasks.go │ │ │ │ ├── termlogs.go │ │ │ │ ├── users.go │ │ │ │ └── vecstorelogs.go │ │ │ ├── oauth/ │ │ │ │ ├── client.go │ │ │ │ ├── github.go │ │ │ │ └── google.go │ │ │ ├── rdb/ │ │ │ │ └── table.go │ │ │ ├── response/ │ │ │ │ ├── errors.go │ │ │ │ ├── http.go │ │ │ │ └── http_test.go │ │ │ ├── router.go │ │ │ └── services/ │ │ │ ├── agentlogs.go │ │ │ ├── analytics.go │ │ │ ├── api_tokens.go │ │ │ ├── api_tokens_test.go │ │ │ ├── assistantlogs.go │ │ │ ├── assistants.go │ │ │ ├── auth.go │ │ │ ├── containers.go │ │ │ ├── flows.go │ │ │ ├── graphql.go │ │ │ ├── msglogs.go │ │ │ ├── prompts.go │ │ │ ├── providers.go │ │ │ ├── roles.go │ │ │ ├── screenshots.go │ │ │ ├── searchlogs.go │ │ │ ├── subtasks.go │ │ │ ├── tasks.go │ │ │ ├── termlogs.go │ │ │ ├── users.go │ │ │ ├── users_test.go │ │ │ └── vecstorelogs.go │ │ ├── system/ │ │ │ ├── host_id.go │ │ │ ├── utils.go │ │ │ ├── utils_darwin.go │ │ │ ├── utils_linux.go │ │ │ ├── utils_test.go │ │ │ └── utils_windows.go │ │ ├── templates/ │ │ │ ├── graphiti/ │ │ │ │ ├── agent_response.tmpl │ │ │ │ └── tool_execution.tmpl │ │ │ ├── prompts/ │ │ │ │ ├── adviser.tmpl │ │ │ │ ├── assistant.tmpl │ │ │ │ ├── coder.tmpl │ │ │ │ ├── enricher.tmpl │ │ │ │ ├── execution_logs.tmpl │ │ │ │ ├── flow_descriptor.tmpl │ │ │ │ ├── full_execution_context.tmpl │ │ │ │ ├── generator.tmpl │ │ │ │ ├── image_chooser.tmpl │ │ │ │ ├── input_toolcall_fixer.tmpl │ │ │ │ ├── installer.tmpl │ │ │ │ ├── language_chooser.tmpl │ │ │ │ ├── memorist.tmpl │ │ │ │ ├── pentester.tmpl │ │ │ │ ├── primary_agent.tmpl │ │ │ │ ├── question_adviser.tmpl │ │ │ │ ├── question_coder.tmpl │ │ │ │ ├── question_enricher.tmpl │ │ │ │ ├── question_execution_monitor.tmpl │ │ │ │ ├── question_installer.tmpl │ │ │ │ ├── question_memorist.tmpl │ │ │ │ ├── question_pentester.tmpl │ │ │ │ ├── question_reflector.tmpl │ │ │ │ ├── question_searcher.tmpl │ │ │ │ ├── question_task_planner.tmpl │ │ │ │ ├── refiner.tmpl │ │ │ │ ├── reflector.tmpl │ │ │ │ ├── reporter.tmpl │ │ │ │ ├── searcher.tmpl │ │ │ │ ├── short_execution_context.tmpl │ │ │ │ ├── subtasks_generator.tmpl │ │ │ │ ├── subtasks_refiner.tmpl │ │ │ │ ├── summarizer.tmpl │ │ │ │ ├── task_assignment_wrapper.tmpl │ │ │ │ ├── task_descriptor.tmpl │ │ │ │ ├── task_reporter.tmpl │ │ │ │ ├── tool_call_id_collector.tmpl │ │ │ │ ├── tool_call_id_detector.tmpl │ │ │ │ └── toolcall_fixer.tmpl │ │ │ ├── templates.go │ │ │ ├── templates_test.go │ │ │ └── validator/ │ │ │ ├── testdata.go │ │ │ ├── validator.go │ │ │ └── validator_test.go │ │ ├── terminal/ │ │ │ ├── output.go │ │ │ └── output_test.go │ │ ├── tools/ │ │ │ ├── args.go │ │ │ ├── args_test.go │ │ │ ├── browser.go │ │ │ ├── browser_test.go │ │ │ ├── code.go │ │ │ ├── context.go │ │ │ ├── context_test.go │ │ │ ├── duckduckgo.go │ │ │ ├── duckduckgo_test.go │ │ │ ├── executor.go │ │ │ ├── executor_test.go │ │ │ ├── google.go │ │ │ ├── google_test.go │ │ │ ├── graphiti_search.go │ │ │ ├── guide.go │ │ │ ├── memory.go │ │ │ ├── memory_utils.go │ │ │ ├── memory_utils_test.go │ │ │ ├── perplexity.go │ │ │ ├── perplexity_test.go │ │ │ ├── proxy_test.go │ │ │ ├── registry.go │ │ │ ├── registry_test.go │ │ │ ├── search.go │ │ │ ├── searxng.go │ │ │ ├── searxng_test.go │ │ │ ├── sploitus.go │ │ │ ├── sploitus_test.go │ │ │ ├── tavily.go │ │ │ ├── tavily_test.go │ │ │ ├── terminal.go │ │ │ ├── terminal_test.go │ │ │ ├── testdata/ │ │ │ │ ├── ddg_result_docker_security.html │ │ │ │ ├── ddg_result_golang_http_client.html │ │ │ │ ├── ddg_result_owasp_vulnerabilities.html │ │ │ │ ├── ddg_result_site_github_golang.html │ │ │ │ ├── ddg_result_sql_injection.html │ │ │ │ ├── sploitus_result_cve_2026.json │ │ │ │ ├── sploitus_result_metasploit.json │ │ │ │ ├── sploitus_result_nginx.json │ │ │ │ └── sploitus_result_nmap.json │ │ │ ├── tools.go │ │ │ ├── traversaal.go │ │ │ └── traversaal_test.go │ │ └── version/ │ │ ├── version.go │ │ └── version_test.go │ └── sqlc/ │ ├── models/ │ │ ├── agentlogs.sql │ │ ├── analytics.sql │ │ ├── api_tokens.sql │ │ ├── assistantlogs.sql │ │ ├── assistants.sql │ │ ├── containers.sql │ │ ├── flows.sql │ │ ├── msgchains.sql │ │ ├── msglogs.sql │ │ ├── prompts.sql │ │ ├── providers.sql │ │ ├── roles.sql │ │ ├── screenshots.sql │ │ ├── searchlogs.sql │ │ ├── subtasks.sql │ │ ├── tasks.sql │ │ ├── termlogs.sql │ │ ├── toolcalls.sql │ │ ├── user_preferences.sql │ │ ├── users.sql │ │ └── vecstorelogs.sql │ └── sqlc.yml ├── build/ │ └── .gitkeep ├── docker-compose-graphiti.yml ├── docker-compose-langfuse.yml ├── docker-compose-observability.yml ├── docker-compose.yml ├── examples/ │ ├── configs/ │ │ ├── custom-openai.provider.yml │ │ ├── deepinfra.provider.yml │ │ ├── deepseek.provider.yml │ │ ├── moonshot.provider.yml │ │ ├── novita.provider.yml │ │ ├── ollama-llama318b-instruct.provider.yml │ │ ├── ollama-llama318b.provider.yml │ │ ├── ollama-qwen332b-fp16-tc.provider.yml │ │ ├── ollama-qwq32b-fp16-tc.provider.yml │ │ ├── openrouter.provider.yml │ │ ├── vllm-qwen3.5-27b-fp8-no-think.provider.yml │ │ ├── vllm-qwen3.5-27b-fp8.provider.yml │ │ └── vllm-qwen332b-fp16.provider.yml │ ├── guides/ │ │ ├── vllm-qwen35-27b-fp8.md │ │ └── worker_node.md │ ├── prompts/ │ │ └── base_web_pentest.md │ ├── reports/ │ │ ├── ollama_qwen3_32b_fp16_base_web_pentest.md │ │ └── openai_base_web_pentest.md │ └── tests/ │ ├── anthropic-report.md │ ├── bedrock-report.md │ ├── custom-openai-report.md │ ├── deepinfra-report.md │ ├── deepseek-report.md │ ├── gemini-report.md │ ├── glm-report.md │ ├── kimi-report.md │ ├── moonshot-report.md │ ├── novita-report.md │ ├── ollama-cloud-report.md │ ├── ollama-llama318b-instruct-report.md │ ├── ollama-llama318b-report.md │ ├── ollama-qwen332b-fp16-tc-report.md │ ├── ollama-qwq-32b-fp16-tc-report.md │ ├── openai-report.md │ ├── openrouter-report.md │ ├── qwen-report.md │ └── vllm-qwen332b-fp16-report.md ├── frontend/ │ ├── .editorconfig │ ├── .gitignore │ ├── .prettierrc │ ├── README.md │ ├── components.json │ ├── eslint.config.mjs │ ├── graphql-codegen.ts │ ├── graphql-schema.graphql │ ├── index.html │ ├── package.json │ ├── postcss.config.cjs │ ├── public/ │ │ └── favicon/ │ │ └── site.webmanifest │ ├── scripts/ │ │ ├── generate-ssl.ts │ │ └── lib.ts │ ├── src/ │ │ ├── app.tsx │ │ ├── components/ │ │ │ ├── icons/ │ │ │ │ ├── anthropic.tsx │ │ │ │ ├── bedrock.tsx │ │ │ │ ├── custom.tsx │ │ │ │ ├── deepseek.tsx │ │ │ │ ├── flow-status-icon.tsx │ │ │ │ ├── gemini.tsx │ │ │ │ ├── github.tsx │ │ │ │ ├── glm.tsx │ │ │ │ ├── google.tsx │ │ │ │ ├── kimi.tsx │ │ │ │ ├── logo.tsx │ │ │ │ ├── ollama.tsx │ │ │ │ ├── open-ai.tsx │ │ │ │ ├── provider-icon.tsx │ │ │ │ └── qwen.tsx │ │ │ ├── layouts/ │ │ │ │ ├── app-layout.tsx │ │ │ │ ├── flows-layout.tsx │ │ │ │ ├── main-layout.tsx │ │ │ │ ├── main-sidebar.tsx │ │ │ │ └── settings-layout.tsx │ │ │ ├── routes/ │ │ │ │ ├── protected-route.tsx │ │ │ │ └── public-route.tsx │ │ │ ├── shared/ │ │ │ │ ├── confirmation-dialog.tsx │ │ │ │ ├── markdown.tsx │ │ │ │ ├── page-loader.tsx │ │ │ │ └── terminal.tsx │ │ │ └── ui/ │ │ │ ├── accordion.tsx │ │ │ ├── alert.tsx │ │ │ ├── avatar.tsx │ │ │ ├── badge.tsx │ │ │ ├── breadcrumb.tsx │ │ │ ├── button.tsx │ │ │ ├── calendar.tsx │ │ │ ├── card.tsx │ │ │ ├── collapsible.tsx │ │ │ ├── command.tsx │ │ │ ├── data-table.tsx │ │ │ ├── dialog.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── empty.tsx │ │ │ ├── form.tsx │ │ │ ├── input-group.tsx │ │ │ ├── input.tsx │ │ │ ├── label.tsx │ │ │ ├── popover.tsx │ │ │ ├── progress.tsx │ │ │ ├── resizable.tsx │ │ │ ├── scroll-area.tsx │ │ │ ├── select.tsx │ │ │ ├── separator.tsx │ │ │ ├── sheet.tsx │ │ │ ├── sidebar.tsx │ │ │ ├── skeleton.tsx │ │ │ ├── sonner.tsx │ │ │ ├── spinner.tsx │ │ │ ├── status-card.tsx │ │ │ ├── switch.tsx │ │ │ ├── table.tsx │ │ │ ├── tabs.tsx │ │ │ ├── textarea-autosize.tsx │ │ │ ├── textarea.tsx │ │ │ ├── toggle-group.tsx │ │ │ ├── toggle.tsx │ │ │ └── tooltip.tsx │ │ ├── features/ │ │ │ ├── authentication/ │ │ │ │ ├── login-form.tsx │ │ │ │ └── password-change-form.tsx │ │ │ └── flows/ │ │ │ ├── agents/ │ │ │ │ ├── flow-agent-icon.tsx │ │ │ │ ├── flow-agent.tsx │ │ │ │ └── flow-agents.tsx │ │ │ ├── flow-central-tabs.tsx │ │ │ ├── flow-form.tsx │ │ │ ├── flow-tabs.tsx │ │ │ ├── flow-tasks-dropdown.tsx │ │ │ ├── messages/ │ │ │ │ ├── flow-assistant-messages.tsx │ │ │ │ ├── flow-automation-messages.tsx │ │ │ │ ├── flow-message-type-icon.tsx │ │ │ │ └── flow-message.tsx │ │ │ ├── screenshots/ │ │ │ │ ├── flow-screenshot.tsx │ │ │ │ └── flow-screenshots.tsx │ │ │ ├── tasks/ │ │ │ │ ├── flow-subtask.tsx │ │ │ │ ├── flow-task-status-icon.tsx │ │ │ │ ├── flow-task.tsx │ │ │ │ └── flow-tasks.tsx │ │ │ ├── terminal/ │ │ │ │ └── flow-terminal.tsx │ │ │ ├── tools/ │ │ │ │ ├── flow-tool.tsx │ │ │ │ └── flow-tools.tsx │ │ │ └── vector-stores/ │ │ │ ├── flow-vector-store-action-icon.tsx │ │ │ ├── flow-vector-store.tsx │ │ │ └── flow-vector-stores.tsx │ │ ├── graphql/ │ │ │ └── types.ts │ │ ├── hooks/ │ │ │ ├── use-adaptive-column-visibility.ts │ │ │ ├── use-auto-scroll.ts │ │ │ ├── use-breakpoint.ts │ │ │ └── use-theme.ts │ │ ├── lib/ │ │ │ ├── apollo.ts │ │ │ ├── axios.ts │ │ │ ├── log.ts │ │ │ ├── report-pdf.tsx │ │ │ ├── report.ts │ │ │ ├── utils/ │ │ │ │ ├── auth.ts │ │ │ │ └── format.ts │ │ │ ├── utils.test.ts │ │ │ ├── utils.ts │ │ │ └── сlipboard.ts │ │ ├── main.tsx │ │ ├── models/ │ │ │ ├── api.ts │ │ │ ├── info.ts │ │ │ ├── provider.tsx │ │ │ └── user.ts │ │ ├── pages/ │ │ │ ├── flows/ │ │ │ │ ├── flow-report.tsx │ │ │ │ ├── flow.tsx │ │ │ │ ├── flows.tsx │ │ │ │ └── new-flow.tsx │ │ │ ├── login.tsx │ │ │ ├── oauth-result.tsx │ │ │ └── settings/ │ │ │ ├── settings-api-tokens.tsx │ │ │ ├── settings-mcp-server.tsx │ │ │ ├── settings-mcp-servers.tsx │ │ │ ├── settings-prompt.tsx │ │ │ ├── settings-prompts.tsx │ │ │ ├── settings-provider.tsx │ │ │ └── settings-providers.tsx │ │ ├── providers/ │ │ │ ├── favorites-provider.tsx │ │ │ ├── flow-provider.tsx │ │ │ ├── flows-provider.tsx │ │ │ ├── providers-provider.tsx │ │ │ ├── sidebar-flows-provider.tsx │ │ │ ├── system-settings-provider.tsx │ │ │ ├── theme-provider.tsx │ │ │ └── user-provider.tsx │ │ ├── schemas/ │ │ │ └── user-schema.ts │ │ └── styles/ │ │ └── index.css │ ├── tsconfig.app.json │ ├── tsconfig.json │ ├── tsconfig.node.json │ ├── types/ │ │ └── vite-env.d.ts │ └── vite.config.ts ├── observability/ │ ├── clickhouse/ │ │ └── prometheus.xml │ ├── grafana/ │ │ ├── config/ │ │ │ ├── grafana.ini │ │ │ └── provisioning/ │ │ │ ├── dashboards/ │ │ │ │ └── dashboard.yml │ │ │ └── datasources/ │ │ │ └── datasource.yml │ │ └── dashboards/ │ │ ├── components/ │ │ │ ├── pentagi_service.json │ │ │ └── victoriametrics.json │ │ ├── home.json │ │ └── server/ │ │ ├── docker_containers.json │ │ ├── docker_engine.json │ │ └── node_exporter_full.json │ ├── jaeger/ │ │ ├── bin/ │ │ │ ├── SOURCE.md │ │ │ ├── jaeger-clickhouse-linux-amd64 │ │ │ └── jaeger-clickhouse-linux-arm64 │ │ ├── config.yml │ │ ├── plugin-config.yml │ │ └── sampling_strategies.json │ ├── loki/ │ │ └── config.yml │ └── otel/ │ └── config.yml └── scripts/ ├── entrypoint.sh ├── version.ps1 └── version.sh