nowaikit 2.6.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +89 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/direct/executor.d.ts +28 -0
- package/dist/direct/executor.d.ts.map +1 -0
- package/dist/direct/executor.js +228 -0
- package/dist/direct/executor.js.map +1 -0
- package/dist/direct/llm-client.d.ts +32 -0
- package/dist/direct/llm-client.d.ts.map +1 -0
- package/dist/direct/llm-client.js +122 -0
- package/dist/direct/llm-client.js.map +1 -0
- package/dist/prompts/capabilities/build-app.d.ts +4 -0
- package/dist/prompts/capabilities/build-app.d.ts.map +1 -0
- package/dist/prompts/capabilities/build-app.js +238 -0
- package/dist/prompts/capabilities/build-app.js.map +1 -0
- package/dist/prompts/capabilities/build-business-rule.d.ts +4 -0
- package/dist/prompts/capabilities/build-business-rule.d.ts.map +1 -0
- package/dist/prompts/capabilities/build-business-rule.js +93 -0
- package/dist/prompts/capabilities/build-business-rule.js.map +1 -0
- package/dist/prompts/capabilities/build-catalog.d.ts +4 -0
- package/dist/prompts/capabilities/build-catalog.d.ts.map +1 -0
- package/dist/prompts/capabilities/build-catalog.js +350 -0
- package/dist/prompts/capabilities/build-catalog.js.map +1 -0
- package/dist/prompts/capabilities/build-client-script.d.ts +4 -0
- package/dist/prompts/capabilities/build-client-script.d.ts.map +1 -0
- package/dist/prompts/capabilities/build-client-script.js +157 -0
- package/dist/prompts/capabilities/build-client-script.js.map +1 -0
- package/dist/prompts/capabilities/build-flow.d.ts +4 -0
- package/dist/prompts/capabilities/build-flow.d.ts.map +1 -0
- package/dist/prompts/capabilities/build-flow.js +243 -0
- package/dist/prompts/capabilities/build-flow.js.map +1 -0
- package/dist/prompts/capabilities/build-portal.d.ts +4 -0
- package/dist/prompts/capabilities/build-portal.d.ts.map +1 -0
- package/dist/prompts/capabilities/build-portal.js +250 -0
- package/dist/prompts/capabilities/build-portal.js.map +1 -0
- package/dist/prompts/capabilities/build-rest-api.d.ts +4 -0
- package/dist/prompts/capabilities/build-rest-api.d.ts.map +1 -0
- package/dist/prompts/capabilities/build-rest-api.js +293 -0
- package/dist/prompts/capabilities/build-rest-api.js.map +1 -0
- package/dist/prompts/capabilities/build-test-plan.d.ts +4 -0
- package/dist/prompts/capabilities/build-test-plan.d.ts.map +1 -0
- package/dist/prompts/capabilities/build-test-plan.js +162 -0
- package/dist/prompts/capabilities/build-test-plan.js.map +1 -0
- package/dist/prompts/capabilities/build-uib.d.ts +4 -0
- package/dist/prompts/capabilities/build-uib.d.ts.map +1 -0
- package/dist/prompts/capabilities/build-uib.js +309 -0
- package/dist/prompts/capabilities/build-uib.js.map +1 -0
- package/dist/prompts/capabilities/docs-app.d.ts +4 -0
- package/dist/prompts/capabilities/docs-app.d.ts.map +1 -0
- package/dist/prompts/capabilities/docs-app.js +234 -0
- package/dist/prompts/capabilities/docs-app.js.map +1 -0
- package/dist/prompts/capabilities/docs-release.d.ts +4 -0
- package/dist/prompts/capabilities/docs-release.d.ts.map +1 -0
- package/dist/prompts/capabilities/docs-release.js +197 -0
- package/dist/prompts/capabilities/docs-release.js.map +1 -0
- package/dist/prompts/capabilities/docs-runbook.d.ts +4 -0
- package/dist/prompts/capabilities/docs-runbook.d.ts.map +1 -0
- package/dist/prompts/capabilities/docs-runbook.js +223 -0
- package/dist/prompts/capabilities/docs-runbook.js.map +1 -0
- package/dist/prompts/capabilities/docs-script.d.ts +4 -0
- package/dist/prompts/capabilities/docs-script.d.ts.map +1 -0
- package/dist/prompts/capabilities/docs-script.js +242 -0
- package/dist/prompts/capabilities/docs-script.js.map +1 -0
- package/dist/prompts/capabilities/ops-deploy.d.ts +4 -0
- package/dist/prompts/capabilities/ops-deploy.d.ts.map +1 -0
- package/dist/prompts/capabilities/ops-deploy.js +193 -0
- package/dist/prompts/capabilities/ops-deploy.js.map +1 -0
- package/dist/prompts/capabilities/ops-risk.d.ts +4 -0
- package/dist/prompts/capabilities/ops-risk.d.ts.map +1 -0
- package/dist/prompts/capabilities/ops-risk.js +227 -0
- package/dist/prompts/capabilities/ops-risk.js.map +1 -0
- package/dist/prompts/capabilities/ops-triage.d.ts +4 -0
- package/dist/prompts/capabilities/ops-triage.d.ts.map +1 -0
- package/dist/prompts/capabilities/ops-triage.js +183 -0
- package/dist/prompts/capabilities/ops-triage.js.map +1 -0
- package/dist/prompts/capabilities/review-acls.d.ts +4 -0
- package/dist/prompts/capabilities/review-acls.d.ts.map +1 -0
- package/dist/prompts/capabilities/review-acls.js +142 -0
- package/dist/prompts/capabilities/review-acls.js.map +1 -0
- package/dist/prompts/capabilities/review-code.d.ts +4 -0
- package/dist/prompts/capabilities/review-code.d.ts.map +1 -0
- package/dist/prompts/capabilities/review-code.js +155 -0
- package/dist/prompts/capabilities/review-code.js.map +1 -0
- package/dist/prompts/capabilities/review-flows.d.ts +4 -0
- package/dist/prompts/capabilities/review-flows.d.ts.map +1 -0
- package/dist/prompts/capabilities/review-flows.js +413 -0
- package/dist/prompts/capabilities/review-flows.js.map +1 -0
- package/dist/prompts/capabilities/review-scripts.d.ts +4 -0
- package/dist/prompts/capabilities/review-scripts.d.ts.map +1 -0
- package/dist/prompts/capabilities/review-scripts.js +160 -0
- package/dist/prompts/capabilities/review-scripts.js.map +1 -0
- package/dist/prompts/capabilities/scan-automation.d.ts +4 -0
- package/dist/prompts/capabilities/scan-automation.d.ts.map +1 -0
- package/dist/prompts/capabilities/scan-automation.js +449 -0
- package/dist/prompts/capabilities/scan-automation.js.map +1 -0
- package/dist/prompts/capabilities/scan-cmdb.d.ts +4 -0
- package/dist/prompts/capabilities/scan-cmdb.d.ts.map +1 -0
- package/dist/prompts/capabilities/scan-cmdb.js +450 -0
- package/dist/prompts/capabilities/scan-cmdb.js.map +1 -0
- package/dist/prompts/capabilities/scan-debt.d.ts +4 -0
- package/dist/prompts/capabilities/scan-debt.d.ts.map +1 -0
- package/dist/prompts/capabilities/scan-debt.js +287 -0
- package/dist/prompts/capabilities/scan-debt.js.map +1 -0
- package/dist/prompts/capabilities/scan-health.d.ts +4 -0
- package/dist/prompts/capabilities/scan-health.d.ts.map +1 -0
- package/dist/prompts/capabilities/scan-health.js +235 -0
- package/dist/prompts/capabilities/scan-health.js.map +1 -0
- package/dist/prompts/capabilities/scan-security.d.ts +4 -0
- package/dist/prompts/capabilities/scan-security.d.ts.map +1 -0
- package/dist/prompts/capabilities/scan-security.js +370 -0
- package/dist/prompts/capabilities/scan-security.js.map +1 -0
- package/dist/prompts/capabilities/scan-upgrade.d.ts +4 -0
- package/dist/prompts/capabilities/scan-upgrade.d.ts.map +1 -0
- package/dist/prompts/capabilities/scan-upgrade.js +327 -0
- package/dist/prompts/capabilities/scan-upgrade.js.map +1 -0
- package/dist/prompts/index.d.ts +24 -2
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +160 -14
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/knowledge.d.ts +10 -0
- package/dist/prompts/knowledge.d.ts.map +1 -0
- package/dist/prompts/knowledge.js +604 -0
- package/dist/prompts/knowledge.js.map +1 -0
- package/dist/prompts/types.d.ts +38 -0
- package/dist/prompts/types.d.ts.map +1 -0
- package/dist/prompts/types.js +8 -0
- package/dist/prompts/types.js.map +1 -0
- package/dist/server.js +3 -3
- package/dist/server.js.map +1 -1
- package/package.json +11 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan-cmdb.d.ts","sourceRoot":"","sources":["../../../src/prompts/capabilities/scan-cmdb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,QAAA,MAAM,UAAU,EAAE,oBA0djB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
const capability = {
|
|
2
|
+
name: 'scan-cmdb',
|
|
3
|
+
title: 'CMDB Health Scan',
|
|
4
|
+
description: 'CMDB health assessment — stale CIs, broken relationships, data quality, orphan detection, class compliance',
|
|
5
|
+
category: 'scan',
|
|
6
|
+
arguments: [
|
|
7
|
+
{
|
|
8
|
+
name: 'scope',
|
|
9
|
+
description: 'Scan scope: "full" (default), "relationships", "data-quality", or "stale"',
|
|
10
|
+
required: false,
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: 'ci_class',
|
|
14
|
+
description: 'Limit scan to a specific CI class (e.g. "cmdb_ci_server", "cmdb_ci_linux_server"). Default: all classes',
|
|
15
|
+
required: false,
|
|
16
|
+
},
|
|
17
|
+
],
|
|
18
|
+
recommendedTools: [
|
|
19
|
+
'query_records',
|
|
20
|
+
'search_cmdb_ci',
|
|
21
|
+
'get_cmdb_ci',
|
|
22
|
+
'list_relationships',
|
|
23
|
+
'cmdb_health_dashboard',
|
|
24
|
+
'run_aggregate_query',
|
|
25
|
+
'get_table_record_count',
|
|
26
|
+
'check_table_completeness',
|
|
27
|
+
],
|
|
28
|
+
buildPrompt(args) {
|
|
29
|
+
const scope = args?.scope ?? 'full';
|
|
30
|
+
const ciClass = args?.ci_class ?? '';
|
|
31
|
+
const scopeLabel = {
|
|
32
|
+
full: 'Full CMDB health scan',
|
|
33
|
+
relationships: 'Relationship integrity scan',
|
|
34
|
+
'data-quality': 'Data quality assessment',
|
|
35
|
+
stale: 'Stale CI detection',
|
|
36
|
+
};
|
|
37
|
+
const scopeDescription = scopeLabel[scope] ?? `Custom scope: ${scope}`;
|
|
38
|
+
const classFilter = ciClass
|
|
39
|
+
? `Filtered to CI class: \`${ciClass}\``
|
|
40
|
+
: 'All CI classes';
|
|
41
|
+
// ─── Section 1: CI Inventory ─────────────────────────────────────────────
|
|
42
|
+
const inventorySection = [
|
|
43
|
+
'## 1. CI Inventory',
|
|
44
|
+
'',
|
|
45
|
+
'Use `run_aggregate_query`, `get_table_record_count`, and `query_records` to build a comprehensive inventory:',
|
|
46
|
+
'',
|
|
47
|
+
'### Record Counts by Class',
|
|
48
|
+
'Query the CMDB class hierarchy and aggregate record counts:',
|
|
49
|
+
'',
|
|
50
|
+
'**Core CMDB Class Hierarchy:**',
|
|
51
|
+
'```',
|
|
52
|
+
'cmdb_ci (base)',
|
|
53
|
+
' ├── cmdb_ci_hardware',
|
|
54
|
+
' │ ├── cmdb_ci_computer',
|
|
55
|
+
' │ │ ├── cmdb_ci_server (physical servers)',
|
|
56
|
+
' │ │ │ ├── cmdb_ci_win_server',
|
|
57
|
+
' │ │ │ ├── cmdb_ci_linux_server',
|
|
58
|
+
' │ │ │ └── cmdb_ci_unix_server',
|
|
59
|
+
' │ │ ├── cmdb_ci_pc_hardware (desktops/laptops)',
|
|
60
|
+
' │ │ └── cmdb_ci_mainframe',
|
|
61
|
+
' │ ├── cmdb_ci_netgear (network devices)',
|
|
62
|
+
' │ │ ├── cmdb_ci_ip_router',
|
|
63
|
+
' │ │ ├── cmdb_ci_ip_switch',
|
|
64
|
+
' │ │ └── cmdb_ci_ip_firewall',
|
|
65
|
+
' │ └── cmdb_ci_storage_device',
|
|
66
|
+
' ├── cmdb_ci_service (services)',
|
|
67
|
+
' │ ├── cmdb_ci_service_auto (discovered services)',
|
|
68
|
+
' │ ├── cmdb_ci_service_technical',
|
|
69
|
+
' │ └── cmdb_ci_service_business (business services)',
|
|
70
|
+
' ├── cmdb_ci_appl (applications)',
|
|
71
|
+
' │ ├── cmdb_ci_app_server (app servers: Tomcat, JBoss, WebSphere)',
|
|
72
|
+
' │ ├── cmdb_ci_db_instance (database instances)',
|
|
73
|
+
' │ │ ├── cmdb_ci_db_mssql_instance',
|
|
74
|
+
' │ │ ├── cmdb_ci_db_ora_instance',
|
|
75
|
+
' │ │ └── cmdb_ci_db_mysql_instance',
|
|
76
|
+
' │ └── cmdb_ci_web_server (web servers: Apache, IIS, Nginx)',
|
|
77
|
+
' ├── cmdb_ci_vm_instance (virtual machines)',
|
|
78
|
+
' │ └── cmdb_ci_vmware_instance',
|
|
79
|
+
' └── cmdb_ci_cloud_service_account (cloud resources)',
|
|
80
|
+
'```',
|
|
81
|
+
'',
|
|
82
|
+
ciClass
|
|
83
|
+
? `Focus on \`${ciClass}\` and its child classes.`
|
|
84
|
+
: 'Aggregate counts across all major class branches.',
|
|
85
|
+
'',
|
|
86
|
+
'### Status Distribution',
|
|
87
|
+
'- **Operational status:** count by Operational (1), Non-Operational (2), Repair in Progress (3),',
|
|
88
|
+
' DR Standby (4), Ready (5), Retired (7), Absent (8)',
|
|
89
|
+
'- **Install status:** count by Installed (1), In Stock (6), Retired (7), Stolen (100), Absent (8)',
|
|
90
|
+
'- Flag CIs with conflicting status combinations (e.g., Retired operational status but Installed install status)',
|
|
91
|
+
'',
|
|
92
|
+
'### Discovery Source Distribution',
|
|
93
|
+
'- Count CIs by `discovery_source` field: ServiceNow Discovery, SCCM, AWS, Azure, manual, import, etc.',
|
|
94
|
+
'- Flag CIs with no discovery source (manually created, no validation)',
|
|
95
|
+
'- Flag CIs with discovery source "Manual" in production (should be discovered)',
|
|
96
|
+
'',
|
|
97
|
+
'**Output:**',
|
|
98
|
+
'| CI Class | Total | Operational | Retired | No Discovery Source | Last Updated (avg) |',
|
|
99
|
+
'|----------|-------|-------------|---------|---------------------|---------------------|',
|
|
100
|
+
];
|
|
101
|
+
// ─── Section 2: Stale CI Detection ───────────────────────────────────────
|
|
102
|
+
const staleSection = [
|
|
103
|
+
'## 2. Stale CI Detection',
|
|
104
|
+
'',
|
|
105
|
+
'Use `query_records` and `run_aggregate_query` with date-based filters to find stale CIs:',
|
|
106
|
+
'',
|
|
107
|
+
'### Staleness Thresholds',
|
|
108
|
+
'- **Critical (>180 days):** CIs not updated (sys_updated_on) in 180+ days — likely decommissioned',
|
|
109
|
+
' but not retired. Hardware decomposes, software is unpatched, yet CMDB shows "operational".',
|
|
110
|
+
'- **High (90-180 days):** CIs not updated in 90-180 days — discovery may have lost track',
|
|
111
|
+
'- **Medium (60-90 days):** CIs not updated in 60-90 days — monitor for continued staleness',
|
|
112
|
+
'',
|
|
113
|
+
'### Stale CI Categories',
|
|
114
|
+
'- **Never discovered:** CIs where `last_discovered` is empty AND `discovery_source` is empty',
|
|
115
|
+
' — manually created, never validated by any automated source',
|
|
116
|
+
'- **Discovery lost:** CIs where `last_discovered` is > 90 days ago but `discovery_source` is set',
|
|
117
|
+
' — discovery stopped finding this CI (decommissioned? network change? credential issue?)',
|
|
118
|
+
'- **No recent changes:** CIs where `sys_updated_on` is > 90 days and `operational_status` is',
|
|
119
|
+
' still "Operational" — if truly operational, something should be updating it',
|
|
120
|
+
'- **Zombie CIs:** CIs that are Retired in CMDB but still have active incidents, change requests,',
|
|
121
|
+
' or relationships pointing to them',
|
|
122
|
+
'',
|
|
123
|
+
'### Impact of Stale CIs',
|
|
124
|
+
'- Stale CIs inflate CMDB metrics and licensing counts',
|
|
125
|
+
'- Stale CIs with active relationships corrupt service mapping and impact analysis',
|
|
126
|
+
'- Incident routing to stale CIs leads to SLA breaches and misdirected work',
|
|
127
|
+
'',
|
|
128
|
+
'**Output:**',
|
|
129
|
+
'| CI Name | Class | Operational Status | Last Updated | Last Discovered | Days Stale | Severity | Recommendation |',
|
|
130
|
+
'|---------|-------|-------------------|--------------|-----------------|------------|----------|----------------|',
|
|
131
|
+
];
|
|
132
|
+
// ─── Section 3: Relationship Integrity ───────────────────────────────────
|
|
133
|
+
const relationshipSection = [
|
|
134
|
+
'## 3. Relationship Integrity',
|
|
135
|
+
'',
|
|
136
|
+
'Use `list_relationships`, `query_records` on `cmdb_rel_ci`, and `run_aggregate_query` to analyze:',
|
|
137
|
+
'',
|
|
138
|
+
'### Relationship Type Distribution',
|
|
139
|
+
'Query `cmdb_rel_type` and `cmdb_rel_ci` for counts by type:',
|
|
140
|
+
'',
|
|
141
|
+
'**Core Relationship Types:**',
|
|
142
|
+
'| Relationship | Description | Expected Pattern |',
|
|
143
|
+
'|-------------|-------------|------------------|',
|
|
144
|
+
'| Depends on::Used by | Service → Infrastructure dependency | Services depend on servers/apps |',
|
|
145
|
+
'| Runs on::Runs | Application → Server hosting | Apps run on servers/VMs |',
|
|
146
|
+
'| Hosted on::Hosts | VM → Hypervisor hosting | VMs hosted on ESXi hosts |',
|
|
147
|
+
'| Members of::Contains | Cluster → Nodes | Cluster contains servers |',
|
|
148
|
+
'| Provides::Provided by | Service → Offering | Business service provides IT service |',
|
|
149
|
+
'| Housed in::Houses | Hardware → Location | Servers housed in data center |',
|
|
150
|
+
'| Connects to::Connected by | Network connectivity | Switch connects to router |',
|
|
151
|
+
'| Managed by::Manages | CI → Management tool | Server managed by monitoring tool |',
|
|
152
|
+
'',
|
|
153
|
+
'### Orphaned CIs',
|
|
154
|
+
'- CIs with ZERO relationships (no parent, no child, no dependency)',
|
|
155
|
+
' — an isolated CI is likely missing connections or is stale',
|
|
156
|
+
'- Servers with no "Runs on" children (nothing running on them?)',
|
|
157
|
+
'- Applications with no "Runs on" parent (where does this app run?)',
|
|
158
|
+
'- Business services with no "Depends on" relationships (service with no infrastructure?)',
|
|
159
|
+
'',
|
|
160
|
+
'### Broken Relationships',
|
|
161
|
+
'- Relationships where the parent CI (`parent`) sys_id points to a deleted/non-existent record',
|
|
162
|
+
'- Relationships where the child CI (`child`) sys_id points to a deleted/non-existent record',
|
|
163
|
+
'- Relationships where parent or child CI has `install_status = Retired` but relationship is active',
|
|
164
|
+
'',
|
|
165
|
+
'### Circular Dependencies',
|
|
166
|
+
'- A depends on B, B depends on C, C depends on A — circular dependency chain',
|
|
167
|
+
'- Self-referencing relationships (CI related to itself)',
|
|
168
|
+
'- Bidirectional "Depends on" between same CIs (A depends on B AND B depends on A)',
|
|
169
|
+
'',
|
|
170
|
+
'### Relationship Anomalies',
|
|
171
|
+
'- CIs with > 100 relationships — possible data quality issue or misconfigured discovery',
|
|
172
|
+
'- Duplicate relationships (same parent, child, and type appearing multiple times)',
|
|
173
|
+
'- Wrong relationship type (e.g., a server "Depends on" a desktop — unlikely)',
|
|
174
|
+
'- Cross-class relationship violations (e.g., "Runs on" between two services instead of app→server)',
|
|
175
|
+
'',
|
|
176
|
+
'**Output:**',
|
|
177
|
+
'| Parent CI | Child CI | Rel Type | Issue | Severity | Recommendation |',
|
|
178
|
+
'|-----------|----------|----------|-------|----------|----------------|',
|
|
179
|
+
];
|
|
180
|
+
// ─── Section 4: Data Quality ─────────────────────────────────────────────
|
|
181
|
+
const dataQualitySection = [
|
|
182
|
+
'## 4. Data Quality Assessment',
|
|
183
|
+
'',
|
|
184
|
+
'Use `check_table_completeness`, `query_records`, and `run_aggregate_query` to evaluate:',
|
|
185
|
+
'',
|
|
186
|
+
'### Mandatory Field Completeness',
|
|
187
|
+
'For each major CI class, check completeness of key fields:',
|
|
188
|
+
'',
|
|
189
|
+
'**Server CIs (cmdb_ci_server and children):**',
|
|
190
|
+
'- `name` — must be populated (flag empty)',
|
|
191
|
+
'- `ip_address` — critical for discovery and network mapping',
|
|
192
|
+
'- `os` — operating system must be set',
|
|
193
|
+
'- `os_version` — needed for patch management and vulnerability scanning',
|
|
194
|
+
'- `serial_number` — hardware tracking and asset management',
|
|
195
|
+
'- `cpu_count`, `ram`, `disk_space` — capacity planning',
|
|
196
|
+
'- `location` — physical or logical location',
|
|
197
|
+
'- `assigned_to` or `managed_by` — ownership accountability',
|
|
198
|
+
'- `operational_status` — must reflect reality',
|
|
199
|
+
'- `environment` — dev/test/staging/production classification',
|
|
200
|
+
'',
|
|
201
|
+
'**Application CIs (cmdb_ci_appl and children):**',
|
|
202
|
+
'- `name`, `version` — identification',
|
|
203
|
+
'- `install_directory` — where it lives',
|
|
204
|
+
'- `running_process` — how to identify it',
|
|
205
|
+
'- `tcp_port` — network footprint',
|
|
206
|
+
'',
|
|
207
|
+
'**Service CIs (cmdb_ci_service and children):**',
|
|
208
|
+
'- `name`, `owned_by`, `managed_by` — accountability',
|
|
209
|
+
'- `operational_status`, `busines_criticality` — importance rating',
|
|
210
|
+
'',
|
|
211
|
+
'### Duplicate Detection',
|
|
212
|
+
'- CIs with the same `name` AND `sys_class_name` — potential duplicates',
|
|
213
|
+
'- CIs with the same `serial_number` — same hardware registered twice',
|
|
214
|
+
'- CIs with the same `ip_address` within the same class — IP conflict or duplicate',
|
|
215
|
+
'- CIs with the same `mac_address` — same NIC registered on multiple CIs',
|
|
216
|
+
'- CIs with the same FQDN (`fqdn` field) — DNS name collision',
|
|
217
|
+
'',
|
|
218
|
+
'### Invalid Data Patterns',
|
|
219
|
+
'- IP addresses that are obviously wrong: `0.0.0.0`, `127.0.0.1` (for non-localhost CIs),',
|
|
220
|
+
' `255.255.255.255`, empty string, non-IP text',
|
|
221
|
+
'- Serial numbers that are placeholder text: "N/A", "Unknown", "TBD", "Not Available", "None"',
|
|
222
|
+
'- OS values that are generic or outdated: "Windows" (no version), "Linux" (no distro)',
|
|
223
|
+
'- Names with special characters, trailing spaces, or encoding issues',
|
|
224
|
+
'- MAC addresses in incorrect format',
|
|
225
|
+
'',
|
|
226
|
+
'### Classification Accuracy',
|
|
227
|
+
'- CIs in the base `cmdb_ci` class that should be in a specific subclass',
|
|
228
|
+
' (e.g., a server sitting in `cmdb_ci` instead of `cmdb_ci_server`)',
|
|
229
|
+
'- CIs in `cmdb_ci_hardware` that should be classified further (server, network gear, storage)',
|
|
230
|
+
'- CIs whose `sys_class_name` does not match their attributes (e.g., has `cpu_count` and `ram`',
|
|
231
|
+
' but is classified as a generic CI, not a server)',
|
|
232
|
+
'',
|
|
233
|
+
'**Output:**',
|
|
234
|
+
'| CI Class | Field | Completeness % | Empty Count | Invalid Count | Severity |',
|
|
235
|
+
'|----------|-------|----------------|-------------|---------------|----------|',
|
|
236
|
+
];
|
|
237
|
+
// ─── Section 5: Class Compliance ─────────────────────────────────────────
|
|
238
|
+
const classComplianceSection = [
|
|
239
|
+
'## 5. Class Compliance',
|
|
240
|
+
'',
|
|
241
|
+
'Analyze CI classification accuracy:',
|
|
242
|
+
'',
|
|
243
|
+
'### Misclassified CIs',
|
|
244
|
+
'- CIs in generic `cmdb_ci` that have enough attributes to be classified in a specific subclass',
|
|
245
|
+
'- CIs in `cmdb_ci_computer` that should be in `cmdb_ci_server` (has server-like attributes:',
|
|
246
|
+
' high CPU count, server OS, data center location)',
|
|
247
|
+
'- CIs in `cmdb_ci_server` that should be in a more specific child class (`cmdb_ci_win_server`,',
|
|
248
|
+
' `cmdb_ci_linux_server`) based on their OS field',
|
|
249
|
+
'- Network devices classified as servers or vice versa',
|
|
250
|
+
'',
|
|
251
|
+
'### Missing Extended Attributes',
|
|
252
|
+
'- CIs in extended classes that have not populated the extended attributes',
|
|
253
|
+
' (e.g., `cmdb_ci_linux_server` with no Linux-specific fields populated)',
|
|
254
|
+
'- CIs where the extended class was set but the additional fields from the child table are all empty',
|
|
255
|
+
'',
|
|
256
|
+
'### Class Hierarchy Anomalies',
|
|
257
|
+
'- Custom CI classes that extend `cmdb_ci` directly instead of an appropriate intermediate class',
|
|
258
|
+
'- Custom CI classes with no records (created but never used)',
|
|
259
|
+
'- Deep class hierarchies (> 5 levels) that may cause performance issues in queries',
|
|
260
|
+
'',
|
|
261
|
+
'**Output:**',
|
|
262
|
+
'| CI Name | Current Class | Suggested Class | Evidence | Severity |',
|
|
263
|
+
'|---------|---------------|-----------------|----------|----------|',
|
|
264
|
+
];
|
|
265
|
+
// ─── Section 6: Discovery & Reconciliation ──────────────────────────────
|
|
266
|
+
const discoverySection = [
|
|
267
|
+
'## 6. Discovery & Reconciliation',
|
|
268
|
+
'',
|
|
269
|
+
'Use `query_records` and `run_aggregate_query` to assess discovery health:',
|
|
270
|
+
'',
|
|
271
|
+
'### Discovery Coverage',
|
|
272
|
+
'- Percentage of CIs with a discovery source vs. manually created',
|
|
273
|
+
'- CIs discovered in the last 30/60/90 days vs. total CI count',
|
|
274
|
+
'- IP ranges or subnets with low discovery coverage (gaps in network scanning)',
|
|
275
|
+
'- CI classes with low discovery rates (e.g., most servers discovered, but applications are manual)',
|
|
276
|
+
'',
|
|
277
|
+
'### Reconciliation Health',
|
|
278
|
+
'**Identification and Reconciliation Engine (IRE) rules:**',
|
|
279
|
+
'- Query `cmdb_identifier` for reconciliation rules',
|
|
280
|
+
'- Check for CI classes without identification rules — these CIs cannot be reconciled, leading to duplicates',
|
|
281
|
+
'- Check for overly broad identification rules (matching on `name` alone creates false merges)',
|
|
282
|
+
'- Check for overly narrow rules (matching on multiple fields that are often empty creates duplicates)',
|
|
283
|
+
'',
|
|
284
|
+
'### Unreconciled CIs',
|
|
285
|
+
'- CIs in `cmdb_ci` with `duplicate_of` populated — known duplicates awaiting merge',
|
|
286
|
+
'- CIs flagged by reconciliation as "possible duplicate" but not yet resolved',
|
|
287
|
+
'- CIs from import sets that failed reconciliation and created duplicates',
|
|
288
|
+
'',
|
|
289
|
+
'### Discovery Schedule Health',
|
|
290
|
+
'- Active discovery schedules and their frequency',
|
|
291
|
+
'- Discovery schedules that have not run successfully in the expected window',
|
|
292
|
+
'- MID Server connectivity for each discovery schedule',
|
|
293
|
+
'',
|
|
294
|
+
'**Output:**',
|
|
295
|
+
'| Metric | Value | Threshold | Status | Recommendation |',
|
|
296
|
+
'|--------|-------|-----------|--------|----------------|',
|
|
297
|
+
];
|
|
298
|
+
// ─── Section 7: Impact Analysis ──────────────────────────────────────────
|
|
299
|
+
const impactSection = [
|
|
300
|
+
'## 7. Impact Analysis Readiness',
|
|
301
|
+
'',
|
|
302
|
+
'Assess whether the CMDB can support accurate impact analysis and service mapping:',
|
|
303
|
+
'',
|
|
304
|
+
'### Business Service Coverage',
|
|
305
|
+
'- Business services (`cmdb_ci_service_business`) with no "Depends on" relationships',
|
|
306
|
+
' — these services have no mapped infrastructure, making impact analysis useless',
|
|
307
|
+
'- Business services with relationships only to other services (no infrastructure depth)',
|
|
308
|
+
'- Business services with > 500 dependency relationships (too broad, noisy impact)',
|
|
309
|
+
'',
|
|
310
|
+
'### Dependency Map Completeness',
|
|
311
|
+
'- For each business service, trace the dependency chain:',
|
|
312
|
+
' Business Service → Technical Service → Application → Server → VM Host',
|
|
313
|
+
'- Flag chains that stop prematurely (e.g., application has no "Runs on" server)',
|
|
314
|
+
'- Flag chains with missing intermediate levels (business service directly depends on server,',
|
|
315
|
+
' skipping the application layer)',
|
|
316
|
+
'',
|
|
317
|
+
'### Impact Calculation Risks',
|
|
318
|
+
'- CIs that appear in many service dependency chains (single points of failure)',
|
|
319
|
+
'- CIs with "Critical" business_criticality but no relationship to any business service',
|
|
320
|
+
'- Retired CIs still in active dependency chains (ghost dependencies)',
|
|
321
|
+
'',
|
|
322
|
+
'**Output:**',
|
|
323
|
+
'| Business Service | Dependency Depth | Missing Layers | Orphaned Infra | Risk Level |',
|
|
324
|
+
'|-----------------|------------------|----------------|----------------|------------|',
|
|
325
|
+
];
|
|
326
|
+
// ─── Build sections based on scope ───────────────────────────────────────
|
|
327
|
+
let sections;
|
|
328
|
+
switch (scope) {
|
|
329
|
+
case 'relationships':
|
|
330
|
+
sections = [inventorySection, relationshipSection, impactSection];
|
|
331
|
+
break;
|
|
332
|
+
case 'data-quality':
|
|
333
|
+
sections = [inventorySection, dataQualitySection, classComplianceSection];
|
|
334
|
+
break;
|
|
335
|
+
case 'stale':
|
|
336
|
+
sections = [inventorySection, staleSection, discoverySection];
|
|
337
|
+
break;
|
|
338
|
+
default:
|
|
339
|
+
sections = [
|
|
340
|
+
inventorySection,
|
|
341
|
+
staleSection,
|
|
342
|
+
relationshipSection,
|
|
343
|
+
dataQualitySection,
|
|
344
|
+
classComplianceSection,
|
|
345
|
+
discoverySection,
|
|
346
|
+
impactSection,
|
|
347
|
+
];
|
|
348
|
+
}
|
|
349
|
+
// ─── Report Format ───────────────────────────────────────────────────────
|
|
350
|
+
const reportFormat = [
|
|
351
|
+
'## CMDB Health Report Format',
|
|
352
|
+
'',
|
|
353
|
+
'Compile ALL findings into this structure:',
|
|
354
|
+
'',
|
|
355
|
+
'```',
|
|
356
|
+
'CMDB HEALTH REPORT',
|
|
357
|
+
'==================',
|
|
358
|
+
`Scan Scope: ${scopeDescription}`,
|
|
359
|
+
`CI Class Filter: ${classFilter}`,
|
|
360
|
+
'Date: [current date]',
|
|
361
|
+
'',
|
|
362
|
+
'EXECUTIVE SUMMARY',
|
|
363
|
+
'- Total CIs scanned: X',
|
|
364
|
+
'- Total relationships scanned: X',
|
|
365
|
+
'- Critical findings: X',
|
|
366
|
+
'- High findings: X',
|
|
367
|
+
'- Medium findings: X',
|
|
368
|
+
'- Low findings: X',
|
|
369
|
+
'- Overall CMDB health: [Healthy / Needs Attention / Degraded / Critical]',
|
|
370
|
+
'',
|
|
371
|
+
'HEALTH METRICS DASHBOARD',
|
|
372
|
+
' Completeness Score: XX% (mandatory fields populated)',
|
|
373
|
+
' Freshness Score: XX% (CIs updated within expected window)',
|
|
374
|
+
' Relationship Score: XX% (CIs with valid relationships)',
|
|
375
|
+
' Classification Score: XX% (CIs in correct class)',
|
|
376
|
+
' Duplicate Rate: XX% (suspected duplicate CIs)',
|
|
377
|
+
' Discovery Coverage: XX% (CIs with automated discovery)',
|
|
378
|
+
'',
|
|
379
|
+
'DETAILED FINDINGS',
|
|
380
|
+
'-----------------',
|
|
381
|
+
'Each finding MUST include:',
|
|
382
|
+
' Finding ID: CMDB-XXXX',
|
|
383
|
+
' Severity: Critical / High / Medium / Low',
|
|
384
|
+
' Category: Stale / Relationship / Data Quality / Classification / Discovery / Impact',
|
|
385
|
+
' Affected CIs: Count and class of affected CIs',
|
|
386
|
+
' Evidence: [specific data showing the issue]',
|
|
387
|
+
' Impact: [business impact if not remediated]',
|
|
388
|
+
' Recommendation: [specific fix — bulk update, re-discovery, class change, etc.]',
|
|
389
|
+
'',
|
|
390
|
+
'SEVERITY DEFINITIONS',
|
|
391
|
+
' CRITICAL — CMDB data actively causing wrong decisions (impact analysis, routing, licensing)',
|
|
392
|
+
' HIGH — Significant data gaps that undermine CMDB reliability',
|
|
393
|
+
' MEDIUM — Data quality issues that should be addressed proactively',
|
|
394
|
+
' LOW — Housekeeping items; address during regular CMDB maintenance',
|
|
395
|
+
'',
|
|
396
|
+
'REMEDIATION ROADMAP',
|
|
397
|
+
'1. [Critical items — fix within 1 week]',
|
|
398
|
+
'2. [High items — fix within 2 weeks]',
|
|
399
|
+
'3. [Medium items — plan for next maintenance cycle]',
|
|
400
|
+
'4. [Low items — address opportunistically]',
|
|
401
|
+
'```',
|
|
402
|
+
];
|
|
403
|
+
return [
|
|
404
|
+
{
|
|
405
|
+
role: 'assistant',
|
|
406
|
+
content: {
|
|
407
|
+
type: 'text',
|
|
408
|
+
text: [
|
|
409
|
+
'# Capability: CMDB Health Scan',
|
|
410
|
+
'',
|
|
411
|
+
`**Scope:** ${scopeDescription}`,
|
|
412
|
+
`**CI Class Filter:** ${classFilter}`,
|
|
413
|
+
'',
|
|
414
|
+
'This capability performs a comprehensive health assessment of the Configuration',
|
|
415
|
+
'Management Database (CMDB). The CMDB is the foundation of ITSM — incident routing,',
|
|
416
|
+
'change impact analysis, service mapping, and asset management all depend on accurate',
|
|
417
|
+
'CI data and relationships.',
|
|
418
|
+
'',
|
|
419
|
+
'**Platform Knowledge:**',
|
|
420
|
+
'- The CMDB uses a hierarchical class structure rooted at `cmdb_ci`',
|
|
421
|
+
'- Relationships are stored in `cmdb_rel_ci` with types from `cmdb_rel_type`',
|
|
422
|
+
'- The Identification and Reconciliation Engine (IRE) prevents duplicates using rules in `cmdb_identifier`',
|
|
423
|
+
'- Discovery populates CIs automatically; manual CIs should be minimized in production',
|
|
424
|
+
'- Service Mapping builds dependency maps from the CMDB for impact analysis',
|
|
425
|
+
'- CMDB Health Dashboard (`cmdb_health_dashboard`) provides OOB health metrics',
|
|
426
|
+
'',
|
|
427
|
+
...sections.flatMap(s => [...s, '']),
|
|
428
|
+
...reportFormat,
|
|
429
|
+
'',
|
|
430
|
+
'---',
|
|
431
|
+
'',
|
|
432
|
+
'Beginning CMDB health scan. Every finding must include its Finding ID, severity,',
|
|
433
|
+
'category, affected CI count, concrete evidence, and a specific recommendation.',
|
|
434
|
+
].join('\n'),
|
|
435
|
+
},
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
role: 'user',
|
|
439
|
+
content: {
|
|
440
|
+
type: 'text',
|
|
441
|
+
text: ciClass
|
|
442
|
+
? `Run a ${scope} CMDB health scan focused on the \`${ciClass}\` class. Give me a structured report with health metrics and severity ratings.`
|
|
443
|
+
: `Run a ${scope} CMDB health scan across all CI classes. Give me a structured report with health metrics and severity ratings.`,
|
|
444
|
+
},
|
|
445
|
+
},
|
|
446
|
+
];
|
|
447
|
+
},
|
|
448
|
+
};
|
|
449
|
+
export default capability;
|
|
450
|
+
//# sourceMappingURL=scan-cmdb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan-cmdb.js","sourceRoot":"","sources":["../../../src/prompts/capabilities/scan-cmdb.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan-debt.d.ts","sourceRoot":"","sources":["../../../src/prompts/capabilities/scan-debt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,QAAA,MAAM,UAAU,EAAE,oBAoTjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|