Skip to content

Commit 597c451

Browse files
committed
Merge branch 'kiryous/register-agent-builder-mechanism' of https://github.com/Kiryous/kibana into kiryous/register-agent-builder-mechanism
2 parents 079c9b6 + 4fbbb1b commit 597c451

425 files changed

Lines changed: 6760 additions & 1819 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.coderabbit.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ reviews:
66
- Team:Search
77
- Team:Operations
88
- Team:QA
9+
- Team:SigEvents

.github/CODEOWNERS

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1130,6 +1130,7 @@ x-pack/platform/plugins/shared/rule_registry @elastic/response-ops @elastic/acti
11301130
x-pack/platform/plugins/shared/sample_data_ingest @elastic/search-kibana
11311131
x-pack/platform/plugins/shared/saved_objects_tagging @elastic/appex-sharedux
11321132
x-pack/platform/plugins/shared/screenshotting @elastic/kibana-reporting-services
1133+
x-pack/platform/plugins/shared/search_inference_endpoints @elastic/search-kibana
11331134
x-pack/platform/plugins/shared/searchprofiler @elastic/kibana-management
11341135
x-pack/platform/plugins/shared/security @elastic/kibana-security
11351136
x-pack/platform/plugins/shared/serverless @elastic/appex-sharedux
@@ -1230,7 +1231,6 @@ x-pack/solutions/search/plugins/search_assistant @elastic/search-kibana
12301231
x-pack/solutions/search/plugins/search_getting_started @elastic/search-kibana
12311232
x-pack/solutions/search/plugins/search_homepage @elastic/search-kibana
12321233
x-pack/solutions/search/plugins/search_indices @elastic/search-kibana
1233-
x-pack/solutions/search/plugins/search_inference_endpoints @elastic/search-kibana
12341234
x-pack/solutions/search/plugins/search_navigation @elastic/search-kibana
12351235
x-pack/solutions/search/plugins/search_notebooks @elastic/search-kibana
12361236
x-pack/solutions/search/plugins/search_playground @elastic/search-kibana
@@ -2466,6 +2466,9 @@ src/platform/packages/shared/kbn-connector-specs/src/specs/shodan/** @elastic/wo
24662466
src/platform/packages/shared/kbn-connector-specs/src/specs/slack/** @elastic/workchat-eng
24672467
src/platform/packages/shared/kbn-connector-specs/src/specs/urlvoid/** @elastic/workflows-eng
24682468
src/platform/packages/shared/kbn-connector-specs/src/specs/virustotal/** @elastic/workflows-eng
2469+
src/platform/packages/shared/kbn-connector-specs/src/specs/sharepoint_online/** @elastic/workchat-eng
2470+
src/platform/packages/shared/kbn-connector-specs/src/specs/slack/** @elastic/workchat-eng
2471+
src/platform/packages/shared/kbn-connector-specs/src/specs/firecrawl/** @elastic/workchat-eng
24692472
src/platform/packages/shared/kbn-connector-specs/src/specs/salesforce/** @elastic/workchat-eng
24702473
src/platform/packages/shared/kbn-connector-specs/src/specs/zendesk/** @elastic/workchat-eng
24712474

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
on:
2+
issue_comment:
3+
types:
4+
- created
5+
6+
jobs:
7+
issue_commented:
8+
name: sync ci checks on comment
9+
if: |
10+
github.event.issue.pull_request
11+
&& contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.comment.author_association)
12+
&& startsWith(github.event.comment.body, '/sync-ci')
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout kibana-operations
16+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
17+
with:
18+
repository: 'elastic/kibana-operations'
19+
ref: main
20+
path: ./kibana-operations
21+
token: ${{secrets.KIBANAMACHINE_TOKEN}}
22+
persist-credentials: false
23+
24+
- name: Sync CI Status Checks
25+
working-directory: ./kibana-operations/triage
26+
env:
27+
GITHUB_TOKEN: ${{secrets.KIBANAMACHINE_TOKEN}}
28+
BUILDKITE_TOKEN: ${{secrets.OPS_BUILDKITE_TOKEN}}
29+
run: |
30+
npm ci --omit=dev
31+
node verify-ci-check ${{github.event.issue.number}}

api_docs/kbn_core_http_server.devdocs.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4898,7 +4898,7 @@
48984898
},
48994899
{
49004900
"plugin": "searchInferenceEndpoints",
4901-
"path": "x-pack/solutions/search/plugins/search_inference_endpoints/server/routes.ts"
4901+
"path": "x-pack/platform/plugins/shared/search_inference_endpoints/server/routes.ts"
49024902
},
49034903
{
49044904
"plugin": "searchNotebooks",
@@ -10506,7 +10506,7 @@
1050610506
},
1050710507
{
1050810508
"plugin": "searchInferenceEndpoints",
10509-
"path": "x-pack/solutions/search/plugins/search_inference_endpoints/server/routes.ts"
10509+
"path": "x-pack/platform/plugins/shared/search_inference_endpoints/server/routes.ts"
1051010510
},
1051110511
{
1051210512
"plugin": "searchQueryRules",

api_docs/search_inference_endpoints.devdocs.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"tags": [],
1515
"label": "SearchInferenceEndpointsPluginSetup",
1616
"description": [],
17-
"path": "x-pack/solutions/search/plugins/search_inference_endpoints/public/types.ts",
17+
"path": "x-pack/platform/plugins/shared/search_inference_endpoints/public/types.ts",
1818
"lineNumber": 24,
1919
"columnNumber": 1,
2020
"deprecated": false,
@@ -30,7 +30,7 @@
3030
"tags": [],
3131
"label": "SearchInferenceEndpointsPluginStart",
3232
"description": [],
33-
"path": "x-pack/solutions/search/plugins/search_inference_endpoints/public/types.ts",
33+
"path": "x-pack/platform/plugins/shared/search_inference_endpoints/public/types.ts",
3434
"lineNumber": 26,
3535
"columnNumber": 1,
3636
"deprecated": false,
@@ -54,7 +54,7 @@
5454
"tags": [],
5555
"label": "SearchInferenceEndpointsPluginSetup",
5656
"description": [],
57-
"path": "x-pack/solutions/search/plugins/search_inference_endpoints/server/types.ts",
57+
"path": "x-pack/platform/plugins/shared/search_inference_endpoints/server/types.ts",
5858
"lineNumber": 12,
5959
"columnNumber": 1,
6060
"deprecated": false,
@@ -70,7 +70,7 @@
7070
"tags": [],
7171
"label": "SearchInferenceEndpointsPluginStart",
7272
"description": [],
73-
"path": "x-pack/solutions/search/plugins/search_inference_endpoints/server/types.ts",
73+
"path": "x-pack/platform/plugins/shared/search_inference_endpoints/server/types.ts",
7474
"lineNumber": 14,
7575
"columnNumber": 1,
7676
"deprecated": false,

dev_docs/tutorials/generating_oas_for_http_apis.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ Use this section as a practical checklist when authoring public APIs.
6868
| `schema.any()` | Escape hatch that produces little to no useful contract in generated OAS. | Use a small explicit `schema.object({...})`, `schema.recordOf(...)`, or a constrained union with documented fields. |
6969
| `schema.mapOf()` / `schema.recordOf()` when key shape matters | OAS generally represents these as `type: object` with `additionalProperties`, which does not clearly communicate all key constraints to clients. | If keys are known, model explicit object properties. If keys are dynamic, keep values simple and document key format in descriptions. |
7070
| `schema.oneOf()` for object variants (especially nested `oneOf`) | Unions without a clear discriminator are harder for humans/tools to understand. Nested forms like `schema.oneOf([schema.oneOf([a, b]), schema.oneOf([c, d])])` are especially hard to read and lead to poor validation errors. | Prefer `schema.discriminatedUnion('type', [...])` with a stable discriminator and flat variants. |
71-
| `schema.conditional()`, `schema.contextRef()`, `schema.siblingRef()` in HTTP contracts | Behavior depends on runtime context, which is difficult to encode as a stable, portable OAS contract. | Prefer explicit route versions or explicit discriminator/object shapes so behavior is statically visible in the contract. |
71+
| `schema.conditional()`, `schema.contextRef()`, `schema.siblingRef()` | Behavior depends on runtime context, which is difficult to encode as a stable, portable OAS contract. | Prefer explicit route versions or explicit discriminator/object shapes so behavior is statically visible in the contract. |
7272

7373
#### 1. Runtime schema definitions
7474

docs/extend/plugin-list.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ mapped_pages:
219219
| [searchGettingStarted](https://github.com/elastic/kibana/blob/main/x-pack/solutions/search/plugins/search_getting_started) | WARNING: Missing or empty README. |
220220
| [searchHomepage](https://github.com/elastic/kibana/blob/main/x-pack/solutions/search/plugins/search_homepage/README.mdx) | The Search Homepage is a shared homepage for elasticsearch users. |
221221
| [searchIndices](https://github.com/elastic/kibana/blob/main/x-pack/solutions/search/plugins/search_indices/README.mdx) | The Search Indices plugin is a shared set of pages for elasticsearch users across stack and serverless search solutions. |
222-
| [searchInferenceEndpoints](https://github.com/elastic/kibana/blob/main/x-pack/solutions/search/plugins/search_inference_endpoints/README.md) | The Inference Endpoints is a tool used to manage inference endpoints |
222+
| [searchInferenceEndpoints](https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/search_inference_endpoints/README.md) | The Inference Endpoints is a tool used to manage inference endpoints |
223223
| [searchNavigation](https://github.com/elastic/kibana/blob/main/x-pack/solutions/search/plugins/search_navigation/README.mdx) | The Search Navigation plugin is used to handle navigation for search solution plugins across both stack and serverless. |
224224
| [searchNotebooks](https://github.com/elastic/kibana/blob/main/x-pack/solutions/search/plugins/search_notebooks/README.mdx) | This plugin contains endpoints and components for rendering search python notebooks in the persistent dev console. |
225225
| [searchPlayground](https://github.com/elastic/kibana/blob/main/x-pack/solutions/search/plugins/search_playground/README.md) | The Search Playground is a tool for developers to experiment with their own data using LLMs. |

docs/reference/connectors-kibana/_snippets/data-context-sources-connectors-list.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
**Third-party search**
22
* [Brave Search](/reference/connectors-kibana/brave-search-action-type.md): Search the web using the Brave Search API.
3+
* [Firecrawl](/reference/connectors-kibana/firecrawl-action-type.md): Scrape, search, map, and crawl the web using the Firecrawl API.
34
* [Jina Reader](/reference/connectors-kibana/jina-action-type.md): Convert web pages into markdown from their URL and search the web for better LLM grounding.
45
* [Google Drive](/reference/connectors-kibana/google-drive-action-type.md): Search and access files and folders in Google Drive.
56
* [Notion](/reference/connectors-kibana/notion-action-type.md): Explore content and databases in Notion.
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
navigation_title: "Firecrawl"
3+
applies_to:
4+
stack: preview 9.4
5+
serverless: preview
6+
---
7+
8+
# Firecrawl connector [firecrawl-action-type]
9+
10+
The Firecrawl connector uses the [Firecrawl REST API v2](https://docs.firecrawl.dev/api-reference/v2-introduction) to scrape web pages, search the web, map site URLs, and crawl websites. It supports Bearer token (API key) authentication.
11+
12+
## Create connectors in {{kib}} [define-firecrawl-ui]
13+
14+
You can create connectors in **{{stack-manage-app}} > {{connectors-ui}}**. For example:
15+
16+
### Connector configuration [firecrawl-connector-configuration]
17+
18+
Firecrawl connectors have the following configuration properties:
19+
20+
API Key (Bearer token)
21+
: Your Firecrawl API key for authentication. Provide it as the Bearer token when creating or editing the connector. The connector sends it in the `Authorization: Bearer <key>` header to `https://api.firecrawl.dev`.
22+
23+
24+
## Test connectors [firecrawl-action-configuration]
25+
26+
You can test connectors as you're creating or editing the connector in {{kib}}.
27+
28+
The Firecrawl connector has the following actions:
29+
30+
scrape
31+
: Scrape a single URL and extract content (for example, markdown or HTML).
32+
- **url** (required): The URL to scrape.
33+
- **formats** (optional): Output formats: `markdown`, `html`, `links`, `screenshot`, `extract`. Defaults to markdown.
34+
- **onlyMainContent** (optional): Return only main content, excluding nav/footer. Defaults to true.
35+
- **waitFor** (optional): Delay in milliseconds before fetching (useful for JS-rendered pages).
36+
37+
search
38+
: Search the web and optionally get full content from results.
39+
- **query** (required): Search query string.
40+
- **limit** (optional): Maximum number of results (1–100). Defaults to 5.
41+
42+
map
43+
: Map a website to discover indexed URLs.
44+
- **url** (required): Base URL to map.
45+
- **search** (optional): Search term to filter/order URLs by relevance.
46+
- **limit** (optional): Maximum URLs to return. Defaults to 5000.
47+
- **includeSubdomains** (optional): Include subdomains. Defaults to true.
48+
- **ignoreQueryParameters** (optional): Dedupe by path only. Defaults to true.
49+
50+
crawl
51+
: Start an asynchronous crawl of a website. Returns a job ID; use **getCrawlStatus** to poll for results.
52+
- **url** (required): Base URL to start crawling from.
53+
- **limit** (optional): Maximum pages to crawl. Defaults to 100.
54+
- **maxDiscoveryDepth** (optional): Maximum discovery depth.
55+
- **allowExternalLinks** (optional): Follow external links. Defaults to false.
56+
57+
getCrawlStatus
58+
: Get the status and results of a crawl job.
59+
- **id** (required): The crawl job ID (UUID) returned from the **crawl** action.
60+
61+
62+
## Get API credentials [firecrawl-api-credentials]
63+
64+
To use the Firecrawl connector, you need to:
65+
66+
1. Sign up at [Firecrawl](https://www.firecrawl.dev) or log in to your account.
67+
2. Open [API keys](https://www.firecrawl.dev/app/api-keys) in the Firecrawl dashboard.
68+
3. Create an API key or copy an existing one (for example, `fc-...`).
69+
4. In Kibana, when creating or editing the Firecrawl connector, provide this key as the Bearer token (API key / secret).
70+
71+
Rate limits and billing depend on your Firecrawl plan. Check [Firecrawl billing](https://docs.firecrawl.dev/billing) for details.

docs/reference/toc.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ toc:
7676
- file: connectors-kibana/abuseipdb-action-type.md
7777
- file: connectors-kibana/alienvault-otx-action-type.md
7878
- file: connectors-kibana/brave-search-action-type.md
79+
- file: connectors-kibana/firecrawl-action-type.md
7980
- file: connectors-kibana/google-drive-action-type.md
8081
- file: connectors-kibana/greynoise-action-type.md
8182
- file: connectors-kibana/jina-action-type.md

0 commit comments

Comments
 (0)