Skip to content

Add prebuilt skills, osquery skill, and improve agent tool error handling#254611

Closed
patrykkopycinski wants to merge 70 commits into
elastic:mainfrom
patrykkopycinski:agent-builder-prebuilt-skills
Closed

Add prebuilt skills, osquery skill, and improve agent tool error handling#254611
patrykkopycinski wants to merge 70 commits into
elastic:mainfrom
patrykkopycinski:agent-builder-prebuilt-skills

Conversation

@patrykkopycinski
Copy link
Copy Markdown
Contributor

@patrykkopycinski patrykkopycinski commented Feb 24, 2026

Summary

  • Add security osquery skill with live query, agents, status, saved queries, packs, and results tools
  • Add osquery onechat skills (status, packs, saved queries, live query)
  • Add dashboard agent, fleet, and ML agent builder skills
  • Register new security tools in allow list (detection_rules, cases, exception_lists, timelines)
  • Gracefully handle tool-not-found and invalid-params errors for agent calls instead of throwing, allowing the LLM to self-correct
  • Fix async skills list call in select_tools

Test plan

  • Verify osquery skill tools work end-to-end (status, agents, live query, results)
  • Verify agent recovers gracefully when calling a tool with invalid params
  • Verify agent recovers gracefully when calling a non-existent tool ID
  • Verify tool confirmation prompt works with askUser: 'once' setting

Production-Readiness Checklist — Agent Skills Ecosystem

Generated against [Epic] Creation of the Agent Skills Ecosystem for Elastic Security.

Narrative role: Specialization pillar ("focused skills for discrete tasks") + the composable skill library the vision describes.

Must-do before this can ship

  • Split this PR. +104k lines / 571 files is unshippable. Target: 4 skill PRs (osquery, dashboard, fleet, ML) + 1 platform PR for the agent.call graceful-error change
  • Each split skill needs its own @kbn/evals suite (today there is only one PR-wide test plan)
  • Gate every new tool behind a per-skill experimental flag (or aiSocAgents). Today osquery tools are added to allow_lists.ts ungated — that violates the dark-launch / out-of-band delivery requirement
  • Define the feedback loops: osquery and ML skill outputs must be consumable by the AI Triage skill (today they're siloed)
  • Add scope claims / non-attestation style disclaimers where relevant (follow #264378 PCI pattern)

Follow-ups (post-merge)

  • Extract "graceful tool-not-found / invalid-params" handling into an Agent Builder core primitive, not a per-skill fix
  • Publish each skill against the Skill Authoring Standard (once that doc exists)

patrykkopycinski and others added 23 commits February 17, 2026 11:32
…execution, and demo skills

Implements planning mode for the Agent Builder, allowing agents to create
structured execution plans before acting. Includes a new agent mode selector,
plan panel sidebar with real-time progress tracking, mode suggestion banner,
planning tools (create/update plan, list tools, suggest mode), plan execution
instructions for the default agent, and four stubbed security skills for
demo purposes. Fixes several UX issues: stale plan state across conversations,
draft-to-ready status promotion, approve-and-execute flow with correct agent
mode, local execution for real-time streaming during plan execution, and
improved JSON readability in tool response flyouts.
…unner

- Remove unused conversationTimestamp variable in run_planning_agent.ts
- Fix BuiltinToolDefinition array type to use Array<BuiltinToolDefinition<any>>
  to avoid Zod schema variance issues with specific tool parameter types
The button now shows for draft plans (pre-approval) from planning source,
not for ready plans (already approved). Added test for all-completed case.
Adds support for user-created skills in the Agent Builder plugin:

- Server: CRUD API routes for skills (create, read, update, delete) with
  versioned endpoints, composite skill registry (built-in + persisted),
  Elasticsearch-backed persistence, and skill selection on agents.
- Client: Skills management UI with list page, create/edit forms, context
  menus, delete confirmation, and skills tab on the agent configuration form.
- Common: Shared types, validation schemas, and skill selection utilities.
- Built-in: Platform-level "data-exploration" skill registered at startup.
- Tests: Scout API and UI e2e tests covering CRUD flows, built-in skill
  protection, and skills list/form interactions.
- Add tsconfig.json for Scout API and UI test directories
- Fix TypeScript errors: add missing `id` property on mock providers,
  remove unused variable, add missing `getRegistry` mock
- Update OAS validation baseline for new skills API routes
- Remove openspec workflow artifacts from git tracking
- Refactor API tests to use apiClient fixture instead of kbnClient.request
  per scout_require_api_client_in_api_test ESLint rule
- Fix hook ordering in UI test (beforeEach before afterAll)
- Fix TS1109 parsing error in skills_on_agent_form.spec.ts
- Add 5-tool limit validation on skill create/update
- Gate all skill CRUD routes behind experimentalFeatures flag
- Update runtime to resolve user-created skills via CompositeSkillRegistry
- Fix Scout API tests: add SAML auth, required headers (kbn-xsrf,
  x-elastic-internal-origin), and enable experimental features flag
- Fix Scout UI tests: enable experimental features flag for API routes
- Add unit tests for 5-tool limit validation
…ed layer

- Fold CompositeSkillRegistry, BuiltinSkillStore, and SkillProvider into a single
  SkillRegistry within skill_service.ts
- Remove deprecated getSkillDefinition/listSkills from SkillServiceStart
- Inline persisted provider logic into skill_service.ts and flatten
  persisted/client/ to skills/client/
- Remove unnecessary section divider comments across changed files
- Add comprehensive tests for skill_service.ts covering both SkillService
  and SkillRegistry
…6 demo)

Brings over endpoint tooling from feature/skills-all:
- GCP Fleet VM provisioner with Tailscale connectivity
- REF7707 Caldera lab emulation (DNS, download, execution, persistence)
- RSA 2026 demo provisioner (browser history, detection rules, workflows)
- Caldera MITRE rule validation framework
- Agent skills demo runner
- Supporting utilities (enable browsers, remote access, install browsers)
- Common endpoint services modifications for GCP VM support
Brings over skill infrastructure from feature/skills-all:
- Security solution prebuilt skills (SkillDefinition type migration)
- Forensics analytics skill for REF7707 demo
- Alert triage, entity analytics, security labs search skills
- Security agent builder tools (alerts, cases, detection rules, etc.)
- Osquery live query service extraction with tests
- Observability skills (alerts, APM, logs, metrics, SLO, synthetics)
- Platform skills (ESQL, cases, data views, workflows, etc.)
- Agent builder tracing infrastructure
- Inference tracing (baggage, elasticsearch exporter, span processors)
- kbn-langchain tracer updates
- kbn-evals tool usage evaluator
…s, evals)

Brings over supporting infrastructure from feature/skills-all:
- Elastic assistant: alert grouping service, batch/incremental attack discovery,
  workflow steps, alert deduplication, route updates
- Cases: attack discovery tab, user actions list updates
- Data sources: GitHub issue aggregator
- Security solution evals: chat client, evaluate dataset, HTML reporter
- ai-infra-common package (index settings utilities)
- Security solution experimental features
- Deep agent middleware type definitions
- Root package.json, tsconfig.base.json, and yarn.lock updates
Remove inference tracing, langchain tracer, and agent builder tracer
changes that were brought over from feature/skills-all. These are not
needed for the prebuilt skills demo.
…ilt-skills

# Conflicts:
#	.buildkite/scout_ci_config.yml
#	src/platform/packages/private/kbn-validate-oas/src/oas_error_baseline.json
#	x-pack/platform/packages/shared/agent-builder/agent-builder-common/agents/definition.ts
#	x-pack/platform/packages/shared/kbn-evals/index.ts
#	x-pack/platform/packages/shared/kbn-evals/src/utils/score_repository.ts
#	x-pack/platform/plugins/shared/agent_builder/public/application/components/agents/edit/agent_form_validation.ts
#	x-pack/platform/plugins/shared/agent_builder/public/application/components/conversations/conversation_header/more_actions_button.tsx
#	x-pack/platform/plugins/shared/agent_builder/public/application/hooks/agents/use_agent_edit.ts
#	x-pack/platform/plugins/shared/agent_builder/public/plugin.tsx
#	x-pack/platform/plugins/shared/agent_builder/server/routes/agents.ts
#	x-pack/platform/plugins/shared/agent_builder/server/services/agents/persisted/client/converters.ts
#	x-pack/platform/plugins/shared/agent_builder/server/services/agents/persisted/client/storage.ts
#	x-pack/platform/plugins/shared/agent_builder/server/services/runner/store/utils/load_skill.ts
#	x-pack/platform/plugins/shared/agent_builder/server/services/skills/skill_registry.test.ts
#	x-pack/platform/plugins/shared/agent_builder/server/services/skills/skill_registry.ts
#	x-pack/platform/plugins/shared/agent_builder/server/services/skills/types.ts
#	x-pack/platform/plugins/shared/agent_builder/server/test_utils/runner.ts
#	x-pack/solutions/security/plugins/security_solution/common/experimental_features.ts
#	x-pack/solutions/security/plugins/security_solution/scripts/endpoint/common/vm_services.ts
#	x-pack/solutions/security/plugins/security_solution/server/agent_builder/skills/register_skills.ts
#	x-pack/solutions/security/plugins/security_solution/server/plugin.ts
…ling

- Add security osquery skill with live query, agents, status, saved queries, packs, and results tools
- Add osquery onechat skills (status, packs, saved queries, live query)
- Add dashboard agent, fleet, and ML agent builder skills
- Register new security tools in allow list (detection_rules, cases, exception_lists, timelines)
- Gracefully handle tool-not-found and invalid-params errors for agent calls
- Fix async skills list call in select_tools
@elasticmachine
Copy link
Copy Markdown
Contributor

elasticmachine commented Feb 24, 2026

🤖 Jobs for this PR can be triggered through checkboxes. 🚧

ℹ️ To trigger the CI, please tick the checkbox below 👇

  • Click to trigger kibana-pull-request for this PR!
  • Click to trigger kibana-deploy-project-from-pr for this PR!
  • Click to trigger kibana-deploy-cloud-from-pr for this PR!
  • Click to trigger kibana-entity-store-performance-from-pr for this PR!
  • Click to trigger kibana-storybooks-from-pr for this PR!

@patrykkopycinski patrykkopycinski added ci:cloud-deploy Create or update a Cloud deployment ci:project-deploy-security Create a Security Serverless Project ci:project-persist-deployment Persist project deployment indefinitely labels Feb 24, 2026
@patrykkopycinski
Copy link
Copy Markdown
Contributor Author

/ci

…dling

- Add get_table_schema tool to discover columns via PRAGMA before querying custom tables
- Fix get_results polling to detect errors immediately instead of waiting for timeout
- Update skill instructions to require schema discovery for custom/Elastic tables
@patrykkopycinski
Copy link
Copy Markdown
Contributor Author

/ci

@patrykkopycinski
Copy link
Copy Markdown
Contributor Author

/ci

@patrykkopycinski
Copy link
Copy Markdown
Contributor Author

/ci

@patrykkopycinski
Copy link
Copy Markdown
Contributor Author

/ci

@patrykkopycinski
Copy link
Copy Markdown
Contributor Author

/ci

1 similar comment
@patrykkopycinski
Copy link
Copy Markdown
Contributor Author

/ci

kibanamachine and others added 2 commits February 27, 2026 07:56
…ills

- Normalize MCP tool schemas to ZodObject to prevent runtime errors with non-object schemas
- Add resolveSkillSelection and listSkillDefinitions to SkillRegistry interface
- Remove unused skillMiddleware and skill_discovery utilities
- Revamp alert_triage_skill with comprehensive triage workflow including VirusTotal enrichment and forensic escalation
- Enhance forensics_analytics_skill with VirusTotal correlation, REF7707 reference, and cross-endpoint browser history sweeps
- Add trigger-alert step to RSA 2026 demo provisioner for single-endpoint headless Chrome traffic generation
@patrykkopycinski
Copy link
Copy Markdown
Contributor Author

/ci

1 similar comment
@patrykkopycinski
Copy link
Copy Markdown
Contributor Author

/ci

kibanamachine and others added 2 commits February 27, 2026 09:10
…o-result fetching

- Add table listing/search to get_table_schema (search by name, filter by platform)
  so the LLM discovers correct table names instead of guessing
- Add agentAll and agentPolicyIds params to run_live_query for simpler cross-endpoint sweeps
- Increase poll timeout to 10min and schema timeout to 2min for large fleet queries
- Add "Never Pause" instructions so the LLM fetches results immediately without asking
- Update alert triage and forensics skills to use agentAll: true for sweeps
- Remove unused skill_aware.ts and skill_aware_graph.ts (dead code)
@patrykkopycinski
Copy link
Copy Markdown
Contributor Author

/ci

@patrykkopycinski
Copy link
Copy Markdown
Contributor Author

/ci

… and agent count

- Query all response indexes (data stream, component template, fleet legacy)
  to fix agents_responded always showing 0
- Use parent action_id for response tracking (not per-query action_id)
- Extract agent.id from ECS nested format instead of flat agent_id
- Add unique_agents_with_results to surface affected host count
- Cap online_agent_count to never exceed targeted agent_count
- Fix non-null assertion eslint error
@patrykkopycinski
Copy link
Copy Markdown
Contributor Author

/ci

kibanamachine and others added 2 commits February 27, 2026 11:04
…ilt-skills

# Conflicts:
#	x-pack/platform/plugins/shared/agent_builder/public/plugin.tsx
#	x-pack/platform/plugins/shared/agent_builder/server/services/runner/run_tool.ts
#	x-pack/platform/plugins/shared/agent_builder/server/services/runner/store/utils/load_skill.ts
@patrykkopycinski
Copy link
Copy Markdown
Contributor Author

/ci

@elasticmachine
Copy link
Copy Markdown
Contributor

elasticmachine commented Mar 2, 2026

⏳ Build in-progress, with failures

Failed CI Steps

Test Failures

  • [job] [logs] FTR Configs #102 / Agent Builder agents Edit agent should show agent name as page title
  • [job] [logs] FTR Configs #102 / Agent Builder agents Edit agent should show agent name as page title
  • [job] [logs] Jest Tests #2 / AlertGroupingWorkflowExecutor Integration Tests End-to-end workflow execution should match alerts to existing cases
  • [job] [logs] Jest Tests #2 / AlertGroupingWorkflowExecutor Integration Tests End-to-end workflow execution should match alerts to existing cases
  • [job] [logs] Jest Tests #10 / BatchProcessor adaptive batch sizing should reduce batch size on context limit errors
  • [job] [logs] Jest Tests #10 / BatchProcessor adaptive batch sizing should reduce batch size on context limit errors
  • [job] [logs] Jest Tests #10 / BatchProcessor parallel processing should process batches in parallel when configured
  • [job] [logs] Jest Tests #10 / BatchProcessor parallel processing should process batches in parallel when configured
  • [job] [logs] Jest Tests #10 / BatchProcessor process should deduplicate alerts when configured
  • [job] [logs] Jest Tests #10 / BatchProcessor process should deduplicate alerts when configured
  • [job] [logs] Jest Tests #10 / BatchProcessor process should handle batch processing errors gracefully
  • [job] [logs] Jest Tests #10 / BatchProcessor process should handle batch processing errors gracefully
  • [job] [logs] Jest Tests #10 / BatchProcessor process should merge discoveries from multiple batches
  • [job] [logs] Jest Tests #10 / BatchProcessor process should merge discoveries from multiple batches
  • [job] [logs] Jest Tests #10 / BatchProcessor process should process alerts in batches
  • [job] [logs] Jest Tests #10 / BatchProcessor process should process alerts in batches
  • [job] [logs] Jest Tests #10 / BatchProcessor process should process single batch without merging
  • [job] [logs] Jest Tests #10 / BatchProcessor process should process single batch without merging
  • [job] [logs] Jest Tests #10 / BatchProcessor process should respect maxAlerts configuration
  • [job] [logs] Jest Tests #10 / BatchProcessor process should respect maxAlerts configuration
  • [job] [logs] Jest Tests #4 / buildActionResultsQuery basic functionality should build query with all options combined
  • [job] [logs] Jest Tests #4 / buildActionResultsQuery basic functionality should build query with all options combined
  • [job] [logs] Jest Tests #4 / buildActionResultsQuery basic functionality should build query with time range filter using event.ingested
  • [job] [logs] Jest Tests #4 / buildActionResultsQuery basic functionality should build query with time range filter using event.ingested
  • [job] [logs] Jest Tests #1 / Case View Attachments tab navigates to the alerts tab when the alerts tab is clicked
  • [job] [logs] Jest Tests #1 / Case View Attachments tab navigates to the events tab when the events tab is clicked
  • [job] [logs] Jest Tests #1 / Case View Attachments tab navigates to the files tab when the files tab is clicked
  • [job] [logs] Jest Tests #1 / Case View Attachments tab should call the onSearch callback when the search field is changed
  • [job] [logs] Jest Tests #1 / Case View Attachments tab should display the alerts tab when the feature is enabled
  • [job] [logs] Jest Tests #1 / Case View Attachments tab should display the events tab based on totalEvents when the feature is enabled and search is not applied
  • [job] [logs] Jest Tests #1 / Case View Attachments tab should display the events tab with correct count when the feature is enabled
  • [job] [logs] Jest Tests #1 / Case View Attachments tab should not display the alerts tab when the feature is disabled
  • [job] [logs] Jest Tests #1 / Case View Attachments tab should not display the events tab when the feature is disabled
  • [job] [logs] Jest Tests #1 / Case View Attachments tab should not show the experimental badge on the alerts table
  • [job] [logs] Jest Tests #1 / Case View Attachments tab should render the case view attachments tab
  • [job] [logs] Jest Tests #1 / Case View Attachments tab should show observable tabs in platinum+ tiers
  • [job] [logs] Jest Tests #1 / Case View Attachments tab should show the experimental badge on the alerts table
  • [job] [logs] Jest Tests #1 / Case View Attachments tab should show the observables tab
  • [job] [logs] Jest Tests #1 / Case View Attachments tab shows the alerts tab based on alert comment count when search is applied
  • [job] [logs] Jest Tests #1 / Case View Attachments tab shows the alerts tab based on totalAlerts when search is not applied
  • [job] [logs] Jest Tests #1 / Case View Attachments tab shows the events tab as active
  • [job] [logs] Jest Tests #1 / Case View Attachments tab shows the files tab as active
  • [job] [logs] Jest Tests #1 / Case View Attachments tab shows the files tab with the correct count
  • [job] [logs] Jest Tests #1 / Case View Attachments tab the alerts tab count has a different color if the tab is not active
  • [job] [logs] Jest Tests #2 / CaseMatchingService calculateCaseEntityOverlap should calculate overlap between cases
  • [job] [logs] Jest Tests #2 / CaseMatchingService calculateCaseEntityOverlap should calculate overlap between cases
  • [job] [logs] Jest Tests #2 / CaseMatchingService calculateCaseEntityOverlap should return 0 for cases with no overlap
  • [job] [logs] Jest Tests #2 / CaseMatchingService calculateCaseEntityOverlap should return 0 for cases with no overlap
  • [job] [logs] Jest Tests #2 / CaseMatchingService calculateCaseEntityOverlap should return 1 for identical cases
  • [job] [logs] Jest Tests #2 / CaseMatchingService calculateCaseEntityOverlap should return 1 for identical cases
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMatchingCases should find cases with matching observables
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMatchingCases should find cases with matching observables
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMatchingCases should handle case-insensitive matching
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMatchingCases should handle case-insensitive matching
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMatchingCases should handle empty cases array
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMatchingCases should handle empty cases array
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMatchingCases should handle empty entities array
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMatchingCases should handle empty entities array
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMatchingCases should not match cases below the minimum threshold
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMatchingCases should not match cases below the minimum threshold
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMatchingCases should return best match when multiple cases share observables
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMatchingCases should return best match when multiple cases share observables
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMergeableCasesByObservables should find cases that can be merged based on overlap threshold
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMergeableCasesByObservables should find cases that can be merged based on overlap threshold
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMergeableCasesByObservables should return empty array when no cases can be merged
  • [job] [logs] Jest Tests #2 / CaseMatchingService findMergeableCasesByObservables should return empty array when no cases can be merged
  • [job] [logs] Jest Tests #2 / CaseMatchingService Grouping Strategies Relaxed strategy should match with any single entity
  • [job] [logs] Jest Tests #2 / CaseMatchingService Grouping Strategies Relaxed strategy should match with any single entity
  • [job] [logs] Jest Tests #2 / CaseMatchingService Grouping Strategies Strict strategy should require all required entity types to match
  • [job] [logs] Jest Tests #2 / CaseMatchingService Grouping Strategies Strict strategy should require all required entity types to match
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Case merge detection should calculate accurate entity overlap
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Case merge detection should calculate accurate entity overlap
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Case merge detection should identify cases that could be merged
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Case merge detection should identify cases that could be merged
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Performance with large datasets should efficiently match against many cases
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Performance with large datasets should efficiently match against many cases
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Performance with large datasets should handle alerts with many entities
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Performance with large datasets should handle alerts with many entities
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Real-world case matching scenarios should correctly identify cases that should NOT match
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Real-world case matching scenarios should correctly identify cases that should NOT match
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Real-world case matching scenarios should handle file hash based matching for malware campaigns
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Real-world case matching scenarios should handle file hash based matching for malware campaigns
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Real-world case matching scenarios should handle lateral movement scenario - entity chain matching
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Real-world case matching scenarios should handle lateral movement scenario - entity chain matching
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Real-world case matching scenarios should match alert to case with multiple shared entities (higher confidence)
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Real-world case matching scenarios should match alert to case with multiple shared entities (higher confidence)
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Real-world case matching scenarios should match alert to existing incident case by IP address
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Real-world case matching scenarios should match alert to existing incident case by IP address
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Strategy comparison Relaxed strategy should match with any shared entity
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Strategy comparison Relaxed strategy should match with any shared entity
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Strategy comparison Strict strategy should require high match percentage
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Strategy comparison Strict strategy should require high match percentage
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Strategy comparison Weighted strategy should consider entity type importance
  • [job] [logs] Jest Tests #10 / CaseMatchingService Integration Tests Strategy comparison Weighted strategy should consider entity type importance
  • [job] [logs] Jest Tests #2 / CaseMatchingService selectBestMatch should return null for empty matches
  • [job] [logs] Jest Tests #2 / CaseMatchingService selectBestMatch should return null for empty matches
  • [job] [logs] Jest Tests #2 / CaseMatchingService selectBestMatch should select the case with highest score
  • [job] [logs] Jest Tests #2 / CaseMatchingService selectBestMatch should select the case with highest score
  • [job] [logs] FTR Configs #80 / cases security and spaces enabled: basic Common External references check registered external reference attachment types should check changes on all registered external reference attachment types
  • [job] [logs] FTR Configs #80 / cases security and spaces enabled: basic Common External references check registered external reference attachment types should check changes on all registered external reference attachment types
  • [job] [logs] FTR Configs #73 / cases security and spaces enabled: trial Common External references check registered external reference attachment types should check changes on all registered external reference attachment types
  • [job] [logs] FTR Configs #73 / cases security and spaces enabled: trial Common External references check registered external reference attachment types should check changes on all registered external reference attachment types
  • [job] [logs] Jest Tests #10 / create_tracer createTracer creates a tracer with a custom name
  • [job] [logs] Jest Tests #10 / create_tracer createTracer creates a tracer with a custom name
  • [job] [logs] Jest Tests #10 / create_tracer createTracer creates a tracer with custom name and version
  • [job] [logs] Jest Tests #10 / create_tracer createTracer creates a tracer with custom name and version
  • [job] [logs] Jest Tests #10 / create_tracer createTracer creates a tracer with the default name
  • [job] [logs] Jest Tests #10 / create_tracer createTracer creates a tracer with the default name
  • [job] [logs] Jest Tests #10 / create_tracer createTracer creates a versioned tracer
  • [job] [logs] Jest Tests #10 / create_tracer createTracer creates a versioned tracer
  • [job] [logs] Jest Tests #10 / create_tracer createTracerFactory creates a factory that produces named tracers
  • [job] [logs] Jest Tests #10 / create_tracer createTracerFactory creates a factory that produces named tracers
  • [job] [logs] Jest Tests #10 / create_tracer createTracerFactory creates a factory that produces tracers with default options
  • [job] [logs] Jest Tests #10 / create_tracer createTracerFactory creates a factory that produces tracers with default options
  • [job] [logs] Jest Tests #10 / create_tracer createTracerFactory creates a factory with shared version
  • [job] [logs] Jest Tests #10 / create_tracer createTracerFactory creates a factory with shared version
  • [job] [logs] Jest Tests #10 / create_tracer createTracerFactory falls back to default name when called without arguments
  • [job] [logs] Jest Tests #10 / create_tracer createTracerFactory falls back to default name when called without arguments
  • [job] [logs] Jest Tests #10 / create_tracer getAgentBuilderTracer returns the default agent_builder tracer
  • [job] [logs] Jest Tests #10 / create_tracer getAgentBuilderTracer returns the default agent_builder tracer
  • [job] [logs] Jest Tests #10 / create_tracer getAgentBuilderTracer returns the same tracer instance on multiple calls
  • [job] [logs] Jest Tests #10 / create_tracer getAgentBuilderTracer returns the same tracer instance on multiple calls
  • [job] [logs] Jest Tests #11 / createAlertAttachmentType getAgentDescription returns expected description
  • [job] [logs] Jest Tests #11 / createAlertAttachmentType getAgentDescription returns expected description
  • [job] [logs] Jest Tests #11 / KnowledgeBaseSettingsManagement does not show duplicate entry modal on new document entry creation
  • [job] [logs] Jest Tests #4 / live_query_service fetchLiveQueryResults should fetch results with pagination
  • [job] [logs] Jest Tests #4 / live_query_service fetchLiveQueryResults should fetch results with pagination
  • [job] [logs] Jest Tests #4 / live_query_service waitForQueryCompletion should return immediately when query is already completed
  • [job] [logs] Jest Tests #4 / live_query_service waitForQueryCompletion should return immediately when query is already completed
  • [job] [logs] Jest Tests #4 / live_query_service waitForQueryCompletion should timeout after maxWaitMs
  • [job] [logs] Jest Tests #4 / live_query_service waitForQueryCompletion should timeout after maxWaitMs
  • [job] [logs] Jest Tests #4 / live_query_service waitForResultsCount should poll until count matches
  • [job] [logs] Jest Tests #4 / live_query_service waitForResultsCount should poll until count matches
  • [job] [logs] Jest Tests #4 / live_query_service waitForResultsCount should return when count matches expected
  • [job] [logs] Jest Tests #4 / live_query_service waitForResultsCount should return when count matches expected
  • [job] [logs] Jest Tests #4 / live_query_service waitForResultsCount should timeout when count never matches
  • [job] [logs] Jest Tests #4 / live_query_service waitForResultsCount should timeout when count never matches
  • [job] [logs] Scout: [ platform / workflows_extensions ] plugin / local-serverless-security_complete - Workflows Extensions - Custom Step Definitions Approval - should validate that all registered custom step definitions are approved by workflows-eng team
  • [job] [logs] Scout: [ platform / workflows_extensions ] plugin / local-serverless-security_complete - Workflows Extensions - Custom Step Definitions Approval - should validate that all registered custom step definitions are approved by workflows-eng team
  • [job] [logs] Scout: [ platform / workflows_extensions ] plugin / local-stateful-classic - Workflows Extensions - Custom Step Definitions Approval - should validate that all registered custom step definitions are approved by workflows-eng team
  • [job] [logs] Scout: [ platform / workflows_extensions ] plugin / local-stateful-classic - Workflows Extensions - Custom Step Definitions Approval - should validate that all registered custom step definitions are approved by workflows-eng team
  • [job] [logs] Jest Tests #10 / RoundAttachmentReferences falls back to optimistic attachments when conversationAttachments are missing
  • [job] [logs] Jest Tests #10 / RoundAttachmentReferences falls back to optimistic attachments when conversationAttachments are missing
  • [job] [logs] Jest Tests #10 / RoundAttachmentReferences filters by actor when actorFilter is provided
  • [job] [logs] Jest Tests #10 / RoundAttachmentReferences filters by actor when actorFilter is provided
  • [job] [logs] Jest Tests #10 / RoundAttachmentReferences infers operation from version when operation is missing
  • [job] [logs] Jest Tests #10 / RoundAttachmentReferences infers operation from version when operation is missing
  • [job] [logs] Jest Tests #10 / RoundAttachmentReferences skips hidden attachments from conversationAttachments
  • [job] [logs] Jest Tests #10 / RoundAttachmentReferences skips hidden attachments from conversationAttachments
  • [job] [logs] Jest Tests #10 / RoundAttachmentReferences uses conversationAttachments when provided
  • [job] [logs] Jest Tests #10 / RoundAttachmentReferences uses conversationAttachments when provided
  • [job] [logs] FTR Configs #130 / Screenshots - serverless observability UI response ops docs observability cases list view case detail screenshot
  • [job] [logs] FTR Configs #130 / Screenshots - serverless observability UI response ops docs observability cases list view case detail screenshot
  • [job] [logs] FTR Configs #36 / Screenshots - serverless security UI response ops docs security cases list view case detail screenshot
  • [job] [logs] FTR Configs #36 / Screenshots - serverless security UI response ops docs security cases list view case detail screenshot
  • [job] [logs] Jest Integration Tests #11 / SO type registrations does not remove types from registrations without updating excludeOnUpgradeQuery
  • [job] [logs] Jest Integration Tests #11 / SO type registrations does not remove types from registrations without updating excludeOnUpgradeQuery
  • [job] [logs] FTR Configs #78 / task_manager check_registered_task_types should check changes on all registered task types
  • [job] [logs] FTR Configs #78 / task_manager check_registered_task_types should check changes on all registered task types
  • [job] [logs] Jest Tests #7 / useCaseAttachmentTabs() returns attachment tabs based on enable features an license
  • [job] [logs] Jest Tests #7 / useCaseAttachmentTabs() returns attachment tabs based on enable features an license
  • [job] [logs] Jest Tests #7 / useCaseAttachmentTabs() returns basic case attachment tabs
  • [job] [logs] Jest Tests #7 / useCaseAttachmentTabs() returns basic case attachment tabs
  • [job] [logs] Fleet Cypress Tests #1 / View agents list Agent filter suggestions should filter based on agent id
  • [job] [logs] Fleet Cypress Tests #1 / View agents list Agent filter suggestions should filter based on agent id

History

Add endpoint response actions tool/skill, workflow CRUD tools,
detection rules patch operation, bulk criticality and risk engine
management inline tools to achieve 1:1 coverage with SOC agent skills.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:cloud-deploy Create or update a Cloud deployment ci:cloud-redeploy Always create a new Cloud deployment ci:project-deploy-security Create a Security Serverless Project ci:project-persist-deployment Persist project deployment indefinitely ci:project-redeploy Always create a new Cloud project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants