nowaikit 3.0.0 → 3.1.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/LICENSE +10 -10
- package/README.md +8 -6
- package/desktop/renderer/dist/assets/index-C_5k3daB.js +49 -0
- package/desktop/renderer/dist/index.html +1 -1
- package/desktop/serve.cjs +46 -10
- package/dist/cli/config-store.d.ts +22 -0
- package/dist/cli/config-store.d.ts.map +1 -1
- package/dist/cli/config-store.js +44 -1
- package/dist/cli/config-store.js.map +1 -1
- package/dist/cli/index.js +15 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +486 -49
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/shortcuts.d.ts +2 -0
- package/dist/cli/shortcuts.d.ts.map +1 -0
- package/dist/cli/shortcuts.js +122 -0
- package/dist/cli/shortcuts.js.map +1 -0
- package/dist/direct/llm-client.js +3 -3
- package/dist/direct/llm-client.js.map +1 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +45 -8
- package/dist/prompts/index.js.map +1 -1
- package/dist/sdk/index.d.ts +49 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +53 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/servicenow/client.js +1 -1
- package/dist/servicenow/client.js.map +1 -1
- package/dist/tools-manifest.json +565 -0
- package/package.json +21 -4
- package/desktop/renderer/dist/assets/index-B-6BYnh8.js +0 -49
package/dist/tools-manifest.json
CHANGED
|
@@ -72,6 +72,74 @@
|
|
|
72
72
|
]
|
|
73
73
|
}
|
|
74
74
|
},
|
|
75
|
+
{
|
|
76
|
+
"name": "create_record",
|
|
77
|
+
"description": "Create a new record in any ServiceNow table (requires WRITE_ENABLED=true)",
|
|
78
|
+
"inputSchema": {
|
|
79
|
+
"type": "object",
|
|
80
|
+
"properties": {
|
|
81
|
+
"table": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"description": "Table name (e.g., \"incident\", \"sys_user_preference\")"
|
|
84
|
+
},
|
|
85
|
+
"fields": {
|
|
86
|
+
"type": "object",
|
|
87
|
+
"description": "Key-value pairs for the new record fields"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"required": [
|
|
91
|
+
"table",
|
|
92
|
+
"fields"
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "update_record",
|
|
98
|
+
"description": "Update an existing record in any ServiceNow table (requires WRITE_ENABLED=true)",
|
|
99
|
+
"inputSchema": {
|
|
100
|
+
"type": "object",
|
|
101
|
+
"properties": {
|
|
102
|
+
"table": {
|
|
103
|
+
"type": "string",
|
|
104
|
+
"description": "Table name (e.g., \"incident\", \"sys_user_preference\")"
|
|
105
|
+
},
|
|
106
|
+
"sys_id": {
|
|
107
|
+
"type": "string",
|
|
108
|
+
"description": "32-character system ID of the record to update"
|
|
109
|
+
},
|
|
110
|
+
"fields": {
|
|
111
|
+
"type": "object",
|
|
112
|
+
"description": "Key-value pairs of fields to update"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"required": [
|
|
116
|
+
"table",
|
|
117
|
+
"sys_id",
|
|
118
|
+
"fields"
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "delete_record",
|
|
124
|
+
"description": "Delete a record from any ServiceNow table (requires WRITE_ENABLED=true)",
|
|
125
|
+
"inputSchema": {
|
|
126
|
+
"type": "object",
|
|
127
|
+
"properties": {
|
|
128
|
+
"table": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"description": "Table name"
|
|
131
|
+
},
|
|
132
|
+
"sys_id": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"description": "32-character system ID of the record to delete"
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
"required": [
|
|
138
|
+
"table",
|
|
139
|
+
"sys_id"
|
|
140
|
+
]
|
|
141
|
+
}
|
|
142
|
+
},
|
|
75
143
|
{
|
|
76
144
|
"name": "get_user",
|
|
77
145
|
"description": "Look up user details by email or username",
|
|
@@ -304,6 +372,72 @@
|
|
|
304
372
|
"required": []
|
|
305
373
|
}
|
|
306
374
|
},
|
|
375
|
+
{
|
|
376
|
+
"name": "create_ci_relationship",
|
|
377
|
+
"description": "[Write] Create a relationship between two CMDB Configuration Items",
|
|
378
|
+
"inputSchema": {
|
|
379
|
+
"type": "object",
|
|
380
|
+
"properties": {
|
|
381
|
+
"parent": {
|
|
382
|
+
"type": "string",
|
|
383
|
+
"description": "Parent CI sys_id"
|
|
384
|
+
},
|
|
385
|
+
"child": {
|
|
386
|
+
"type": "string",
|
|
387
|
+
"description": "Child CI sys_id"
|
|
388
|
+
},
|
|
389
|
+
"type": {
|
|
390
|
+
"type": "string",
|
|
391
|
+
"description": "Relationship type (e.g. \"Runs on::Runs\")"
|
|
392
|
+
}
|
|
393
|
+
},
|
|
394
|
+
"required": [
|
|
395
|
+
"parent",
|
|
396
|
+
"child",
|
|
397
|
+
"type"
|
|
398
|
+
]
|
|
399
|
+
}
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"name": "cmdb_impact_analysis",
|
|
403
|
+
"description": "Analyze the downstream impact of a Configuration Item change or outage",
|
|
404
|
+
"inputSchema": {
|
|
405
|
+
"type": "object",
|
|
406
|
+
"properties": {
|
|
407
|
+
"ci_sys_id": {
|
|
408
|
+
"type": "string",
|
|
409
|
+
"description": "CI sys_id to analyze"
|
|
410
|
+
},
|
|
411
|
+
"depth": {
|
|
412
|
+
"type": "number",
|
|
413
|
+
"description": "Relationship depth to traverse (default: 2)"
|
|
414
|
+
}
|
|
415
|
+
},
|
|
416
|
+
"required": [
|
|
417
|
+
"ci_sys_id"
|
|
418
|
+
]
|
|
419
|
+
}
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"name": "run_discovery_scan",
|
|
423
|
+
"description": "[Write] Trigger a ServiceNow Discovery scan for network/infrastructure",
|
|
424
|
+
"inputSchema": {
|
|
425
|
+
"type": "object",
|
|
426
|
+
"properties": {
|
|
427
|
+
"schedule_id": {
|
|
428
|
+
"type": "string",
|
|
429
|
+
"description": "Discovery schedule sys_id to run"
|
|
430
|
+
},
|
|
431
|
+
"mid_server": {
|
|
432
|
+
"type": "string",
|
|
433
|
+
"description": "Optional MID server name"
|
|
434
|
+
}
|
|
435
|
+
},
|
|
436
|
+
"required": [
|
|
437
|
+
"schedule_id"
|
|
438
|
+
]
|
|
439
|
+
}
|
|
440
|
+
},
|
|
307
441
|
{
|
|
308
442
|
"name": "create_incident",
|
|
309
443
|
"description": "Create a new incident record (requires WRITE_ENABLED=true)",
|
|
@@ -748,6 +882,35 @@
|
|
|
748
882
|
]
|
|
749
883
|
}
|
|
750
884
|
},
|
|
885
|
+
{
|
|
886
|
+
"name": "schedule_cab_meeting",
|
|
887
|
+
"description": "[Write] Schedule a Change Advisory Board (CAB) meeting",
|
|
888
|
+
"inputSchema": {
|
|
889
|
+
"type": "object",
|
|
890
|
+
"properties": {
|
|
891
|
+
"change_id": {
|
|
892
|
+
"type": "string",
|
|
893
|
+
"description": "Change request number (CHG...) or sys_id"
|
|
894
|
+
},
|
|
895
|
+
"date": {
|
|
896
|
+
"type": "string",
|
|
897
|
+
"description": "ISO date for the CAB meeting"
|
|
898
|
+
},
|
|
899
|
+
"duration_minutes": {
|
|
900
|
+
"type": "number",
|
|
901
|
+
"description": "Meeting duration in minutes"
|
|
902
|
+
},
|
|
903
|
+
"attendees": {
|
|
904
|
+
"type": "string",
|
|
905
|
+
"description": "Comma-separated group names"
|
|
906
|
+
}
|
|
907
|
+
},
|
|
908
|
+
"required": [
|
|
909
|
+
"change_id",
|
|
910
|
+
"date"
|
|
911
|
+
]
|
|
912
|
+
}
|
|
913
|
+
},
|
|
751
914
|
{
|
|
752
915
|
"name": "get_task",
|
|
753
916
|
"description": "Get details of any task record by number or sys_id",
|
|
@@ -940,6 +1103,22 @@
|
|
|
940
1103
|
]
|
|
941
1104
|
}
|
|
942
1105
|
},
|
|
1106
|
+
{
|
|
1107
|
+
"name": "retire_knowledge_article",
|
|
1108
|
+
"description": "[Write] Retire a knowledge article (mark as outdated)",
|
|
1109
|
+
"inputSchema": {
|
|
1110
|
+
"type": "object",
|
|
1111
|
+
"properties": {
|
|
1112
|
+
"article_id": {
|
|
1113
|
+
"type": "string",
|
|
1114
|
+
"description": "Article number (KB...) or sys_id"
|
|
1115
|
+
}
|
|
1116
|
+
},
|
|
1117
|
+
"required": [
|
|
1118
|
+
"article_id"
|
|
1119
|
+
]
|
|
1120
|
+
}
|
|
1121
|
+
},
|
|
943
1122
|
{
|
|
944
1123
|
"name": "list_catalog_items",
|
|
945
1124
|
"description": "List available service catalog items",
|
|
@@ -1238,6 +1417,74 @@
|
|
|
1238
1417
|
"required": []
|
|
1239
1418
|
}
|
|
1240
1419
|
},
|
|
1420
|
+
{
|
|
1421
|
+
"name": "create_catalog_variable",
|
|
1422
|
+
"description": "[Write] Add a form variable to a service catalog item",
|
|
1423
|
+
"inputSchema": {
|
|
1424
|
+
"type": "object",
|
|
1425
|
+
"properties": {
|
|
1426
|
+
"cat_item_id": {
|
|
1427
|
+
"type": "string",
|
|
1428
|
+
"description": "Catalog item sys_id"
|
|
1429
|
+
},
|
|
1430
|
+
"name": {
|
|
1431
|
+
"type": "string",
|
|
1432
|
+
"description": "Variable name"
|
|
1433
|
+
},
|
|
1434
|
+
"question_text": {
|
|
1435
|
+
"type": "string",
|
|
1436
|
+
"description": "Label shown to user"
|
|
1437
|
+
},
|
|
1438
|
+
"type": {
|
|
1439
|
+
"type": "string",
|
|
1440
|
+
"description": "Variable type: string/reference/select_box/checkbox/date/date_time/integer/multi_line_text/email"
|
|
1441
|
+
},
|
|
1442
|
+
"order": {
|
|
1443
|
+
"type": "number",
|
|
1444
|
+
"description": "Display order (default: 100)"
|
|
1445
|
+
},
|
|
1446
|
+
"mandatory": {
|
|
1447
|
+
"type": "boolean",
|
|
1448
|
+
"description": "Required field"
|
|
1449
|
+
}
|
|
1450
|
+
},
|
|
1451
|
+
"required": [
|
|
1452
|
+
"cat_item_id",
|
|
1453
|
+
"name",
|
|
1454
|
+
"question_text",
|
|
1455
|
+
"type"
|
|
1456
|
+
]
|
|
1457
|
+
}
|
|
1458
|
+
},
|
|
1459
|
+
{
|
|
1460
|
+
"name": "create_catalog_ui_policy",
|
|
1461
|
+
"description": "[Write] Create a UI policy for a catalog item form",
|
|
1462
|
+
"inputSchema": {
|
|
1463
|
+
"type": "object",
|
|
1464
|
+
"properties": {
|
|
1465
|
+
"cat_item_id": {
|
|
1466
|
+
"type": "string",
|
|
1467
|
+
"description": "Catalog item sys_id"
|
|
1468
|
+
},
|
|
1469
|
+
"short_description": {
|
|
1470
|
+
"type": "string",
|
|
1471
|
+
"description": "UI policy description"
|
|
1472
|
+
},
|
|
1473
|
+
"conditions": {
|
|
1474
|
+
"type": "string",
|
|
1475
|
+
"description": "Encoded condition query"
|
|
1476
|
+
},
|
|
1477
|
+
"reverse_if_false": {
|
|
1478
|
+
"type": "boolean",
|
|
1479
|
+
"description": "Reverse actions when condition is false"
|
|
1480
|
+
}
|
|
1481
|
+
},
|
|
1482
|
+
"required": [
|
|
1483
|
+
"cat_item_id",
|
|
1484
|
+
"short_description"
|
|
1485
|
+
]
|
|
1486
|
+
}
|
|
1487
|
+
},
|
|
1241
1488
|
{
|
|
1242
1489
|
"name": "list_users",
|
|
1243
1490
|
"description": "List users with optional search filter",
|
|
@@ -1789,6 +2036,82 @@
|
|
|
1789
2036
|
"required": []
|
|
1790
2037
|
}
|
|
1791
2038
|
},
|
|
2039
|
+
{
|
|
2040
|
+
"name": "create_scheduled_report",
|
|
2041
|
+
"description": "[Write] Schedule a report for recurring email delivery",
|
|
2042
|
+
"inputSchema": {
|
|
2043
|
+
"type": "object",
|
|
2044
|
+
"properties": {
|
|
2045
|
+
"report_id": {
|
|
2046
|
+
"type": "string",
|
|
2047
|
+
"description": "Report sys_id"
|
|
2048
|
+
},
|
|
2049
|
+
"frequency": {
|
|
2050
|
+
"type": "string",
|
|
2051
|
+
"description": "Frequency: daily/weekly/monthly"
|
|
2052
|
+
},
|
|
2053
|
+
"recipients": {
|
|
2054
|
+
"type": "string",
|
|
2055
|
+
"description": "Email addresses"
|
|
2056
|
+
},
|
|
2057
|
+
"day_of_week": {
|
|
2058
|
+
"type": "string",
|
|
2059
|
+
"description": "Day of week (for weekly frequency)"
|
|
2060
|
+
},
|
|
2061
|
+
"day_of_month": {
|
|
2062
|
+
"type": "number",
|
|
2063
|
+
"description": "Day of month (for monthly frequency)"
|
|
2064
|
+
},
|
|
2065
|
+
"format": {
|
|
2066
|
+
"type": "string",
|
|
2067
|
+
"description": "Export format: pdf/csv/xlsx"
|
|
2068
|
+
}
|
|
2069
|
+
},
|
|
2070
|
+
"required": [
|
|
2071
|
+
"report_id",
|
|
2072
|
+
"frequency",
|
|
2073
|
+
"recipients"
|
|
2074
|
+
]
|
|
2075
|
+
}
|
|
2076
|
+
},
|
|
2077
|
+
{
|
|
2078
|
+
"name": "create_kpi",
|
|
2079
|
+
"description": "[Write] Create a Key Performance Indicator from ServiceNow data",
|
|
2080
|
+
"inputSchema": {
|
|
2081
|
+
"type": "object",
|
|
2082
|
+
"properties": {
|
|
2083
|
+
"name": {
|
|
2084
|
+
"type": "string",
|
|
2085
|
+
"description": "KPI name"
|
|
2086
|
+
},
|
|
2087
|
+
"table": {
|
|
2088
|
+
"type": "string",
|
|
2089
|
+
"description": "Source table"
|
|
2090
|
+
},
|
|
2091
|
+
"field": {
|
|
2092
|
+
"type": "string",
|
|
2093
|
+
"description": "Aggregate field"
|
|
2094
|
+
},
|
|
2095
|
+
"aggregate": {
|
|
2096
|
+
"type": "string",
|
|
2097
|
+
"description": "Aggregate function: COUNT/AVG/SUM/MIN/MAX"
|
|
2098
|
+
},
|
|
2099
|
+
"conditions": {
|
|
2100
|
+
"type": "string",
|
|
2101
|
+
"description": "Encoded query filter"
|
|
2102
|
+
},
|
|
2103
|
+
"unit": {
|
|
2104
|
+
"type": "string",
|
|
2105
|
+
"description": "Display unit"
|
|
2106
|
+
}
|
|
2107
|
+
},
|
|
2108
|
+
"required": [
|
|
2109
|
+
"name",
|
|
2110
|
+
"table",
|
|
2111
|
+
"aggregate"
|
|
2112
|
+
]
|
|
2113
|
+
}
|
|
2114
|
+
},
|
|
1792
2115
|
{
|
|
1793
2116
|
"name": "list_atf_suites",
|
|
1794
2117
|
"description": "List ATF test suites in the instance",
|
|
@@ -5501,6 +5824,61 @@
|
|
|
5501
5824
|
"required": []
|
|
5502
5825
|
}
|
|
5503
5826
|
},
|
|
5827
|
+
{
|
|
5828
|
+
"name": "send_emergency_broadcast",
|
|
5829
|
+
"description": "[Write] Send emergency broadcast notification to users or groups",
|
|
5830
|
+
"inputSchema": {
|
|
5831
|
+
"type": "object",
|
|
5832
|
+
"properties": {
|
|
5833
|
+
"subject": {
|
|
5834
|
+
"type": "string",
|
|
5835
|
+
"description": "Broadcast subject"
|
|
5836
|
+
},
|
|
5837
|
+
"body": {
|
|
5838
|
+
"type": "string",
|
|
5839
|
+
"description": "Message body"
|
|
5840
|
+
},
|
|
5841
|
+
"recipients": {
|
|
5842
|
+
"type": "string",
|
|
5843
|
+
"description": "Comma-separated user/group sys_ids"
|
|
5844
|
+
},
|
|
5845
|
+
"channels": {
|
|
5846
|
+
"type": "string",
|
|
5847
|
+
"description": "Delivery channels: email,sms,push"
|
|
5848
|
+
}
|
|
5849
|
+
},
|
|
5850
|
+
"required": [
|
|
5851
|
+
"subject",
|
|
5852
|
+
"body",
|
|
5853
|
+
"recipients"
|
|
5854
|
+
]
|
|
5855
|
+
}
|
|
5856
|
+
},
|
|
5857
|
+
{
|
|
5858
|
+
"name": "schedule_notification",
|
|
5859
|
+
"description": "[Write] Schedule a notification for future delivery",
|
|
5860
|
+
"inputSchema": {
|
|
5861
|
+
"type": "object",
|
|
5862
|
+
"properties": {
|
|
5863
|
+
"notification_id": {
|
|
5864
|
+
"type": "string",
|
|
5865
|
+
"description": "Notification rule sys_id"
|
|
5866
|
+
},
|
|
5867
|
+
"schedule": {
|
|
5868
|
+
"type": "string",
|
|
5869
|
+
"description": "Cron expression or ISO date"
|
|
5870
|
+
},
|
|
5871
|
+
"active": {
|
|
5872
|
+
"type": "boolean",
|
|
5873
|
+
"description": "Whether the notification is active"
|
|
5874
|
+
}
|
|
5875
|
+
},
|
|
5876
|
+
"required": [
|
|
5877
|
+
"notification_id",
|
|
5878
|
+
"schedule"
|
|
5879
|
+
]
|
|
5880
|
+
}
|
|
5881
|
+
},
|
|
5504
5882
|
{
|
|
5505
5883
|
"name": "list_pa_indicators",
|
|
5506
5884
|
"description": "List Performance Analytics (PA) indicators (KPIs) available in the instance",
|
|
@@ -6569,6 +6947,49 @@
|
|
|
6569
6947
|
"required": []
|
|
6570
6948
|
}
|
|
6571
6949
|
},
|
|
6950
|
+
{
|
|
6951
|
+
"name": "track_asset_lifecycle",
|
|
6952
|
+
"description": "Track asset lifecycle events and stage transitions",
|
|
6953
|
+
"inputSchema": {
|
|
6954
|
+
"type": "object",
|
|
6955
|
+
"properties": {
|
|
6956
|
+
"asset_id": {
|
|
6957
|
+
"type": "string",
|
|
6958
|
+
"description": "Asset tag or sys_id"
|
|
6959
|
+
},
|
|
6960
|
+
"new_stage": {
|
|
6961
|
+
"type": "string",
|
|
6962
|
+
"description": "Lifecycle stage: in_stock/in_use/in_maintenance/retired/disposed"
|
|
6963
|
+
},
|
|
6964
|
+
"notes": {
|
|
6965
|
+
"type": "string",
|
|
6966
|
+
"description": "Transition notes"
|
|
6967
|
+
}
|
|
6968
|
+
},
|
|
6969
|
+
"required": [
|
|
6970
|
+
"asset_id",
|
|
6971
|
+
"new_stage"
|
|
6972
|
+
]
|
|
6973
|
+
}
|
|
6974
|
+
},
|
|
6975
|
+
{
|
|
6976
|
+
"name": "get_license_optimization",
|
|
6977
|
+
"description": "Analyze software license usage and recommend optimizations",
|
|
6978
|
+
"inputSchema": {
|
|
6979
|
+
"type": "object",
|
|
6980
|
+
"properties": {
|
|
6981
|
+
"software_name": {
|
|
6982
|
+
"type": "string",
|
|
6983
|
+
"description": "Optional filter by software name"
|
|
6984
|
+
},
|
|
6985
|
+
"threshold_pct": {
|
|
6986
|
+
"type": "number",
|
|
6987
|
+
"description": "Usage threshold percentage (default: 80)"
|
|
6988
|
+
}
|
|
6989
|
+
},
|
|
6990
|
+
"required": []
|
|
6991
|
+
}
|
|
6992
|
+
},
|
|
6572
6993
|
{
|
|
6573
6994
|
"name": "list_devops_pipelines",
|
|
6574
6995
|
"description": "List DevOps pipeline configurations registered in ServiceNow",
|
|
@@ -7848,5 +8269,149 @@
|
|
|
7848
8269
|
"table"
|
|
7849
8270
|
]
|
|
7850
8271
|
}
|
|
8272
|
+
},
|
|
8273
|
+
{
|
|
8274
|
+
"name": "fluent_query",
|
|
8275
|
+
"description": "GlideQuery-style fluent query builder. Supports select, where, aggregate (COUNT/AVG/SUM/MIN/MAX), orderBy, limit, and groupBy. Returns records or aggregate results. Example: { table: \"incident\", where: [[\"active\",\"=\",true],[\"priority\",\"<\",3]], select: [\"number\",\"short_description\"], limit: 10 }",
|
|
8276
|
+
"inputSchema": {
|
|
8277
|
+
"type": "object",
|
|
8278
|
+
"properties": {
|
|
8279
|
+
"table": {
|
|
8280
|
+
"type": "string",
|
|
8281
|
+
"description": "Table name (e.g., \"incident\")"
|
|
8282
|
+
},
|
|
8283
|
+
"where": {
|
|
8284
|
+
"type": "array",
|
|
8285
|
+
"description": "Array of conditions: [field, operator, value]. Operators: =, !=, >, >=, <, <=, LIKE, STARTSWITH, CONTAINS, IN, NOT IN, ISEMPTY, ISNOTEMPTY",
|
|
8286
|
+
"items": {
|
|
8287
|
+
"type": "array",
|
|
8288
|
+
"items": {},
|
|
8289
|
+
"minItems": 2,
|
|
8290
|
+
"maxItems": 3
|
|
8291
|
+
}
|
|
8292
|
+
},
|
|
8293
|
+
"orWhere": {
|
|
8294
|
+
"type": "array",
|
|
8295
|
+
"description": "Array of OR conditions (same format as where)",
|
|
8296
|
+
"items": {
|
|
8297
|
+
"type": "array",
|
|
8298
|
+
"items": {},
|
|
8299
|
+
"minItems": 2,
|
|
8300
|
+
"maxItems": 3
|
|
8301
|
+
}
|
|
8302
|
+
},
|
|
8303
|
+
"select": {
|
|
8304
|
+
"type": "array",
|
|
8305
|
+
"description": "Fields to return. Supports dot-walking (e.g., \"caller_id.email\"). If omitted, returns all fields.",
|
|
8306
|
+
"items": {
|
|
8307
|
+
"type": "string"
|
|
8308
|
+
}
|
|
8309
|
+
},
|
|
8310
|
+
"aggregate": {
|
|
8311
|
+
"type": "string",
|
|
8312
|
+
"description": "Aggregate operation: COUNT, AVG, SUM, MIN, MAX",
|
|
8313
|
+
"enum": [
|
|
8314
|
+
"COUNT",
|
|
8315
|
+
"AVG",
|
|
8316
|
+
"SUM",
|
|
8317
|
+
"MIN",
|
|
8318
|
+
"MAX"
|
|
8319
|
+
]
|
|
8320
|
+
},
|
|
8321
|
+
"aggregateField": {
|
|
8322
|
+
"type": "string",
|
|
8323
|
+
"description": "Field to aggregate on (required for AVG, SUM, MIN, MAX)"
|
|
8324
|
+
},
|
|
8325
|
+
"groupBy": {
|
|
8326
|
+
"type": "string",
|
|
8327
|
+
"description": "Field to group results by (for aggregate queries)"
|
|
8328
|
+
},
|
|
8329
|
+
"orderBy": {
|
|
8330
|
+
"type": "string",
|
|
8331
|
+
"description": "Field to sort by. Prefix with \"-\" for descending."
|
|
8332
|
+
},
|
|
8333
|
+
"limit": {
|
|
8334
|
+
"type": "number",
|
|
8335
|
+
"description": "Max records to return (default: 20, max: 200)"
|
|
8336
|
+
},
|
|
8337
|
+
"displayValue": {
|
|
8338
|
+
"type": "boolean",
|
|
8339
|
+
"description": "Return display values instead of internal values (default: false)"
|
|
8340
|
+
}
|
|
8341
|
+
},
|
|
8342
|
+
"required": [
|
|
8343
|
+
"table"
|
|
8344
|
+
]
|
|
8345
|
+
}
|
|
8346
|
+
},
|
|
8347
|
+
{
|
|
8348
|
+
"name": "batch_request",
|
|
8349
|
+
"description": "Execute multiple ServiceNow REST API operations in a single HTTP call. Reduces round-trips by 50-70%. Each operation specifies method, URL path, and optional body. Max 50 operations per batch.",
|
|
8350
|
+
"inputSchema": {
|
|
8351
|
+
"type": "object",
|
|
8352
|
+
"properties": {
|
|
8353
|
+
"operations": {
|
|
8354
|
+
"type": "array",
|
|
8355
|
+
"description": "Array of REST operations to execute",
|
|
8356
|
+
"items": {
|
|
8357
|
+
"type": "object",
|
|
8358
|
+
"properties": {
|
|
8359
|
+
"id": {
|
|
8360
|
+
"type": "string",
|
|
8361
|
+
"description": "Unique operation ID for correlating responses"
|
|
8362
|
+
},
|
|
8363
|
+
"method": {
|
|
8364
|
+
"type": "string",
|
|
8365
|
+
"description": "HTTP method: GET, POST, PATCH, DELETE",
|
|
8366
|
+
"enum": [
|
|
8367
|
+
"GET",
|
|
8368
|
+
"POST",
|
|
8369
|
+
"PATCH",
|
|
8370
|
+
"DELETE"
|
|
8371
|
+
]
|
|
8372
|
+
},
|
|
8373
|
+
"url": {
|
|
8374
|
+
"type": "string",
|
|
8375
|
+
"description": "API URL path (e.g., \"/api/now/table/incident?sysparm_limit=5\")"
|
|
8376
|
+
},
|
|
8377
|
+
"body": {
|
|
8378
|
+
"type": "object",
|
|
8379
|
+
"description": "Request body for POST/PATCH operations"
|
|
8380
|
+
}
|
|
8381
|
+
},
|
|
8382
|
+
"required": [
|
|
8383
|
+
"id",
|
|
8384
|
+
"method",
|
|
8385
|
+
"url"
|
|
8386
|
+
]
|
|
8387
|
+
},
|
|
8388
|
+
"minItems": 1,
|
|
8389
|
+
"maxItems": 50
|
|
8390
|
+
}
|
|
8391
|
+
},
|
|
8392
|
+
"required": [
|
|
8393
|
+
"operations"
|
|
8394
|
+
]
|
|
8395
|
+
}
|
|
8396
|
+
},
|
|
8397
|
+
{
|
|
8398
|
+
"name": "execute_script",
|
|
8399
|
+
"description": "Execute a server-side script on the ServiceNow instance (Background Script). Supports GlideRecord, GlideQuery, GlideAggregate, and all server-side APIs. Returns the script output. Use for complex queries that cannot be expressed via REST. REQUIRES WRITE_ENABLED=true.",
|
|
8400
|
+
"inputSchema": {
|
|
8401
|
+
"type": "object",
|
|
8402
|
+
"properties": {
|
|
8403
|
+
"script": {
|
|
8404
|
+
"type": "string",
|
|
8405
|
+
"description": "Server-side JavaScript to execute. Use gs.print() or gs.info() for output."
|
|
8406
|
+
},
|
|
8407
|
+
"scope": {
|
|
8408
|
+
"type": "string",
|
|
8409
|
+
"description": "Application scope to run in (default: global)"
|
|
8410
|
+
}
|
|
8411
|
+
},
|
|
8412
|
+
"required": [
|
|
8413
|
+
"script"
|
|
8414
|
+
]
|
|
8415
|
+
}
|
|
7851
8416
|
}
|
|
7852
8417
|
]
|
package/package.json
CHANGED
|
@@ -1,9 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nowaikit",
|
|
3
3
|
"mcpName": "io.github.aartiq/nowaikit",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.1.0",
|
|
5
5
|
"description": "The Most Comprehensive ServiceNow AI Toolkit — 400+ MCP tools + 26 AI capabilities (scan, review, build, ops, docs) + direct BYOK mode. Integrates with Claude, ChatGPT, Gemini, Cursor, GitHub Copilot and any LLM.",
|
|
6
6
|
"main": "dist/server.js",
|
|
7
|
+
"types": "dist/server.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/server.d.ts",
|
|
11
|
+
"import": "./dist/server.js"
|
|
12
|
+
},
|
|
13
|
+
"./sdk": {
|
|
14
|
+
"types": "./dist/sdk/index.d.ts",
|
|
15
|
+
"import": "./dist/sdk/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./client": {
|
|
18
|
+
"types": "./dist/servicenow/client.d.ts",
|
|
19
|
+
"import": "./dist/servicenow/client.js"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
7
22
|
"bin": {
|
|
8
23
|
"nowaikit": "dist/cli/index.js"
|
|
9
24
|
},
|
|
@@ -19,7 +34,7 @@
|
|
|
19
34
|
"node": ">=20.0.0"
|
|
20
35
|
},
|
|
21
36
|
"scripts": {
|
|
22
|
-
"build": "tsc",
|
|
37
|
+
"build": "tsc && node scripts/extract-tools.mjs",
|
|
23
38
|
"dev": "tsx watch src/server.ts",
|
|
24
39
|
"start": "node dist/server.js",
|
|
25
40
|
"setup": "node dist/cli/index.js setup",
|
|
@@ -82,7 +97,9 @@
|
|
|
82
97
|
"security-audit",
|
|
83
98
|
"technical-debt",
|
|
84
99
|
"direct-mode",
|
|
85
|
-
"byok"
|
|
100
|
+
"byok",
|
|
101
|
+
"sdk",
|
|
102
|
+
"servicenow-sdk"
|
|
86
103
|
],
|
|
87
104
|
"author": "aartiq",
|
|
88
105
|
"homepage": "https://github.com/aartiq/nowaikit#readme",
|
|
@@ -93,7 +110,7 @@
|
|
|
93
110
|
"bugs": {
|
|
94
111
|
"url": "https://github.com/aartiq/nowaikit/issues"
|
|
95
112
|
},
|
|
96
|
-
"license": "
|
|
113
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
97
114
|
"overrides": {
|
|
98
115
|
"minimatch": "^10.2.2"
|
|
99
116
|
},
|