nowaikit 4.9.1 → 4.11.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.
Files changed (54) hide show
  1. package/README.md +16 -3
  2. package/desktop/serve.cjs +10 -3
  3. package/dist/cli/index.js +39 -8
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/cli/setup.d.ts.map +1 -1
  6. package/dist/cli/setup.js +11 -3
  7. package/dist/cli/setup.js.map +1 -1
  8. package/dist/dashboard/index.js +3 -1
  9. package/dist/dashboard/index.js.map +1 -1
  10. package/dist/reports/parser.d.ts.map +1 -1
  11. package/dist/reports/parser.js +3 -1
  12. package/dist/reports/parser.js.map +1 -1
  13. package/dist/servicenow/client.d.ts +12 -0
  14. package/dist/servicenow/client.d.ts.map +1 -1
  15. package/dist/servicenow/client.js +51 -2
  16. package/dist/servicenow/client.js.map +1 -1
  17. package/dist/tools/agile.d.ts +189 -0
  18. package/dist/tools/agile.d.ts.map +1 -1
  19. package/dist/tools/agile.js +107 -0
  20. package/dist/tools/agile.js.map +1 -1
  21. package/dist/tools/atf.d.ts.map +1 -1
  22. package/dist/tools/atf.js +17 -5
  23. package/dist/tools/atf.js.map +1 -1
  24. package/dist/tools/decision.d.ts +176 -0
  25. package/dist/tools/decision.d.ts.map +1 -0
  26. package/dist/tools/decision.js +147 -0
  27. package/dist/tools/decision.js.map +1 -0
  28. package/dist/tools/deployment.d.ts.map +1 -1
  29. package/dist/tools/deployment.js +6 -1
  30. package/dist/tools/deployment.js.map +1 -1
  31. package/dist/tools/docs.d.ts.map +1 -1
  32. package/dist/tools/docs.js +19 -4
  33. package/dist/tools/docs.js.map +1 -1
  34. package/dist/tools/flow.d.ts +77 -0
  35. package/dist/tools/flow.d.ts.map +1 -1
  36. package/dist/tools/flow.js +45 -2
  37. package/dist/tools/flow.js.map +1 -1
  38. package/dist/tools/fluent.d.ts +80 -0
  39. package/dist/tools/fluent.d.ts.map +1 -1
  40. package/dist/tools/fluent.js +55 -2
  41. package/dist/tools/fluent.js.map +1 -1
  42. package/dist/tools/index.d.ts +448 -0
  43. package/dist/tools/index.d.ts.map +1 -1
  44. package/dist/tools/index.js +3 -0
  45. package/dist/tools/index.js.map +1 -1
  46. package/dist/tools/reporting.d.ts +19 -0
  47. package/dist/tools/reporting.d.ts.map +1 -1
  48. package/dist/tools/reporting.js +23 -6
  49. package/dist/tools/reporting.js.map +1 -1
  50. package/dist/tools/updateset.d.ts.map +1 -1
  51. package/dist/tools/updateset.js +20 -1
  52. package/dist/tools/updateset.js.map +1 -1
  53. package/dist/tools-manifest.json +348 -4
  54. package/package.json +5 -1
@@ -1968,7 +1968,7 @@
1968
1968
  },
1969
1969
  {
1970
1970
  "name": "get_sys_log",
1971
- "description": "Retrieve system log entries for debugging or auditing",
1971
+ "description": "Retrieve system log entries for debugging or auditing. Set app_scope=true to read the scoped-application log (syslog_app_scope), where scoped gs.info()/gs.log() output lands, instead of the global syslog.",
1972
1972
  "inputSchema": {
1973
1973
  "type": "object",
1974
1974
  "properties": {
@@ -1976,6 +1976,10 @@
1976
1976
  "type": "string",
1977
1977
  "description": "Filter (e.g., \"level=error^sys_created_onONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()\")"
1978
1978
  },
1979
+ "app_scope": {
1980
+ "type": "boolean",
1981
+ "description": "Read syslog_app_scope (scoped-app log output) instead of the global syslog."
1982
+ },
1979
1983
  "limit": {
1980
1984
  "type": "number",
1981
1985
  "description": "Max entries (default: 20)"
@@ -3477,6 +3481,134 @@
3477
3481
  "required": []
3478
3482
  }
3479
3483
  },
3484
+ {
3485
+ "name": "create_story_dependency",
3486
+ "description": "Link one agile story as dependent on another (m2m_story_dependencies). Requires WRITE_ENABLED=true.",
3487
+ "inputSchema": {
3488
+ "type": "object",
3489
+ "properties": {
3490
+ "story": {
3491
+ "type": "string",
3492
+ "description": "The dependent story sys_id (the one that is blocked)"
3493
+ },
3494
+ "dependent_story": {
3495
+ "type": "string",
3496
+ "description": "The story it depends on (the blocker) sys_id"
3497
+ }
3498
+ },
3499
+ "required": [
3500
+ "story",
3501
+ "dependent_story"
3502
+ ]
3503
+ }
3504
+ },
3505
+ {
3506
+ "name": "list_story_dependencies",
3507
+ "description": "List dependency links for a story (m2m_story_dependencies).",
3508
+ "inputSchema": {
3509
+ "type": "object",
3510
+ "properties": {
3511
+ "story": {
3512
+ "type": "string",
3513
+ "description": "Story sys_id to list dependencies for"
3514
+ },
3515
+ "limit": {
3516
+ "type": "number",
3517
+ "description": "Max results (default: 50)"
3518
+ }
3519
+ },
3520
+ "required": [
3521
+ "story"
3522
+ ]
3523
+ }
3524
+ },
3525
+ {
3526
+ "name": "delete_story_dependency",
3527
+ "description": "Remove a story dependency link by its m2m_story_dependencies sys_id. Requires WRITE_ENABLED=true.",
3528
+ "inputSchema": {
3529
+ "type": "object",
3530
+ "properties": {
3531
+ "sys_id": {
3532
+ "type": "string",
3533
+ "description": "The m2m_story_dependencies record sys_id"
3534
+ }
3535
+ },
3536
+ "required": [
3537
+ "sys_id"
3538
+ ]
3539
+ }
3540
+ },
3541
+ {
3542
+ "name": "create_project",
3543
+ "description": "Create a PPM project (pm_project). Requires WRITE_ENABLED=true.",
3544
+ "inputSchema": {
3545
+ "type": "object",
3546
+ "properties": {
3547
+ "short_description": {
3548
+ "type": "string",
3549
+ "description": "Project name / short description"
3550
+ },
3551
+ "description": {
3552
+ "type": "string",
3553
+ "description": "Project description"
3554
+ },
3555
+ "state": {
3556
+ "type": "string",
3557
+ "description": "Project state (e.g. pending, open, work in progress)"
3558
+ },
3559
+ "priority": {
3560
+ "type": "string",
3561
+ "description": "Priority (1-5)"
3562
+ },
3563
+ "fields": {
3564
+ "type": "object",
3565
+ "description": "Additional pm_project fields (start_date, end_date, project_manager, etc.)"
3566
+ }
3567
+ },
3568
+ "required": [
3569
+ "short_description"
3570
+ ]
3571
+ }
3572
+ },
3573
+ {
3574
+ "name": "update_project",
3575
+ "description": "Update a PPM project (pm_project). Requires WRITE_ENABLED=true.",
3576
+ "inputSchema": {
3577
+ "type": "object",
3578
+ "properties": {
3579
+ "sys_id": {
3580
+ "type": "string",
3581
+ "description": "Project sys_id"
3582
+ },
3583
+ "fields": {
3584
+ "type": "object",
3585
+ "description": "Key-value pairs to update"
3586
+ }
3587
+ },
3588
+ "required": [
3589
+ "sys_id",
3590
+ "fields"
3591
+ ]
3592
+ }
3593
+ },
3594
+ {
3595
+ "name": "list_projects",
3596
+ "description": "List PPM projects (pm_project).",
3597
+ "inputSchema": {
3598
+ "type": "object",
3599
+ "properties": {
3600
+ "query": {
3601
+ "type": "string",
3602
+ "description": "Encoded query filter (e.g. state=open)"
3603
+ },
3604
+ "limit": {
3605
+ "type": "number",
3606
+ "description": "Max results (default: 20)"
3607
+ }
3608
+ },
3609
+ "required": []
3610
+ }
3611
+ },
3480
3612
  {
3481
3613
  "name": "create_hr_case",
3482
3614
  "description": "Create a new HR Service Delivery case (requires WRITE_ENABLED=true)",
@@ -4697,10 +4829,14 @@
4697
4829
  },
4698
4830
  {
4699
4831
  "name": "list_action_instances",
4700
- "description": "List reusable Flow Designer action instances available in the environment",
4832
+ "description": "List Flow Designer action instances. Pass flow_id to scope to a single flow's steps (recommended); otherwise lists across the environment.",
4701
4833
  "inputSchema": {
4702
4834
  "type": "object",
4703
4835
  "properties": {
4836
+ "flow_id": {
4837
+ "type": "string",
4838
+ "description": "Parent flow sys_id (sys_hub_flow). Returns only that flow's action instances."
4839
+ },
4704
4840
  "query": {
4705
4841
  "type": "string",
4706
4842
  "description": "Search actions by name or category"
@@ -4876,6 +5012,42 @@
4876
5012
  ]
4877
5013
  }
4878
5014
  },
5015
+ {
5016
+ "name": "update_flow",
5017
+ "description": "Update a flow or subflow's METADATA only (activate/deactivate, name, description, run-as). **[Write]** NOTE: this cannot safely insert or edit flow STEPS. Flow Designer executes a compiled snapshot, and writing action-instance rows over REST does not recompile the flow, which would desync/corrupt it. Edit steps in the Flow Designer UI.",
5018
+ "inputSchema": {
5019
+ "type": "object",
5020
+ "properties": {
5021
+ "flow_sys_id": {
5022
+ "type": "string",
5023
+ "description": "Flow or subflow sys_id"
5024
+ },
5025
+ "type": {
5026
+ "type": "string",
5027
+ "description": "Type: flow or subflow (default flow)"
5028
+ },
5029
+ "active": {
5030
+ "type": "boolean",
5031
+ "description": "Activate (true) or deactivate (false)"
5032
+ },
5033
+ "name": {
5034
+ "type": "string",
5035
+ "description": "New name"
5036
+ },
5037
+ "description": {
5038
+ "type": "string",
5039
+ "description": "New description"
5040
+ },
5041
+ "run_as": {
5042
+ "type": "string",
5043
+ "description": "run_as value (e.g. user_who_triggers, system_user)"
5044
+ }
5045
+ },
5046
+ "required": [
5047
+ "flow_sys_id"
5048
+ ]
5049
+ }
5050
+ },
4879
5051
  {
4880
5052
  "name": "test_flow",
4881
5053
  "description": "Execute a flow in test mode with sample inputs. **[Write]**",
@@ -4920,6 +5092,141 @@
4920
5092
  ]
4921
5093
  }
4922
5094
  },
5095
+ {
5096
+ "name": "list_decision_tables",
5097
+ "description": "List Decision Builder decision tables (sys_decision), optionally filtered by name or active status",
5098
+ "inputSchema": {
5099
+ "type": "object",
5100
+ "properties": {
5101
+ "query": {
5102
+ "type": "string",
5103
+ "description": "Search decision tables by name or description"
5104
+ },
5105
+ "active": {
5106
+ "type": "boolean",
5107
+ "description": "Filter to active decision tables only"
5108
+ },
5109
+ "limit": {
5110
+ "type": "number",
5111
+ "description": "Max records to return (default 50)"
5112
+ }
5113
+ },
5114
+ "required": []
5115
+ }
5116
+ },
5117
+ {
5118
+ "name": "get_decision_table",
5119
+ "description": "Get a decision table with its inputs and answer rows, by name or sys_id",
5120
+ "inputSchema": {
5121
+ "type": "object",
5122
+ "properties": {
5123
+ "name_or_sysid": {
5124
+ "type": "string",
5125
+ "description": "Decision table name or sys_id"
5126
+ }
5127
+ },
5128
+ "required": [
5129
+ "name_or_sysid"
5130
+ ]
5131
+ }
5132
+ },
5133
+ {
5134
+ "name": "list_decision_inputs",
5135
+ "description": "List the inputs of a decision table",
5136
+ "inputSchema": {
5137
+ "type": "object",
5138
+ "properties": {
5139
+ "decision_sys_id": {
5140
+ "type": "string",
5141
+ "description": "sys_id of the decision table (sys_decision)"
5142
+ }
5143
+ },
5144
+ "required": [
5145
+ "decision_sys_id"
5146
+ ]
5147
+ }
5148
+ },
5149
+ {
5150
+ "name": "list_decision_answers",
5151
+ "description": "List the answer/result rows of a decision table",
5152
+ "inputSchema": {
5153
+ "type": "object",
5154
+ "properties": {
5155
+ "decision_sys_id": {
5156
+ "type": "string",
5157
+ "description": "sys_id of the decision table (sys_decision)"
5158
+ },
5159
+ "limit": {
5160
+ "type": "number",
5161
+ "description": "Max records to return (default 100)"
5162
+ }
5163
+ },
5164
+ "required": [
5165
+ "decision_sys_id"
5166
+ ]
5167
+ }
5168
+ },
5169
+ {
5170
+ "name": "create_decision_table",
5171
+ "description": "Create a Decision Builder decision table (sys_decision). Requires WRITE_ENABLED=true",
5172
+ "inputSchema": {
5173
+ "type": "object",
5174
+ "properties": {
5175
+ "name": {
5176
+ "type": "string",
5177
+ "description": "Decision table name"
5178
+ },
5179
+ "description": {
5180
+ "type": "string",
5181
+ "description": "Description of what the decision returns"
5182
+ },
5183
+ "active": {
5184
+ "type": "boolean",
5185
+ "description": "Whether the decision table is active (default true)"
5186
+ },
5187
+ "fields": {
5188
+ "type": "object",
5189
+ "description": "Additional sys_decision field values to set"
5190
+ }
5191
+ },
5192
+ "required": [
5193
+ "name"
5194
+ ]
5195
+ }
5196
+ },
5197
+ {
5198
+ "name": "create_decision_input",
5199
+ "description": "Add an input to a decision table (sys_decision_input). Requires WRITE_ENABLED=true",
5200
+ "inputSchema": {
5201
+ "type": "object",
5202
+ "properties": {
5203
+ "decision_sys_id": {
5204
+ "type": "string",
5205
+ "description": "sys_id of the parent decision table (sys_decision)"
5206
+ },
5207
+ "name": {
5208
+ "type": "string",
5209
+ "description": "Input name/label"
5210
+ },
5211
+ "type": {
5212
+ "type": "string",
5213
+ "description": "Input data type (e.g., string, integer, reference, boolean)"
5214
+ },
5215
+ "order": {
5216
+ "type": "number",
5217
+ "description": "Display order of the input"
5218
+ },
5219
+ "fields": {
5220
+ "type": "object",
5221
+ "description": "Additional sys_decision_input field values to set"
5222
+ }
5223
+ },
5224
+ "required": [
5225
+ "decision_sys_id",
5226
+ "name"
5227
+ ]
5228
+ }
5229
+ },
4923
5230
  {
4924
5231
  "name": "list_portals",
4925
5232
  "description": "List all Service Portal configurations available in the instance",
@@ -8714,7 +9021,7 @@
8714
9021
  },
8715
9022
  {
8716
9023
  "name": "fluent_version",
8717
- "description": "Report the installed `@servicenow/sdk` (now-sdk) version and whether it meets the version NowAIKit tracks features against (currently 4.8.0). Returns an upgrade hint when out of date.",
9024
+ "description": "Report the installed `@servicenow/sdk` (now-sdk) version and whether it meets the version NowAIKit tracks features against (currently 4.10.1). Returns an upgrade hint when out of date.",
8718
9025
  "inputSchema": {
8719
9026
  "type": "object",
8720
9027
  "properties": {},
@@ -8723,7 +9030,7 @@
8723
9030
  },
8724
9031
  {
8725
9032
  "name": "fluent_explain",
8726
- "description": "Run `npx @servicenow/sdk explain <topic>` to get live SDK documentation on a topic — always current API signatures, not training-data guesses. Returns explanations of Fluent APIs, types, patterns, and best practices. Known topics include: GlideQuery, table API, scoped app, now.config.json, keys.ts, metadata, Record, Now.del, Now.attach, DataLookup, RestMessage, Alias, AliasTemplate, RetryPolicy, Playbook, Flow, Subflow, CustomAction, TryCatch, DoInParallel, FlowStages, AiAgent, AiAgentWorkflow, roleMap, NowAssistSkillConfig, UiPolicy, DataPolicy, Form, InstanceScan, ServicePortal, ImportSet, override.",
9033
+ "description": "Run `npx @servicenow/sdk explain <topic>` to get live SDK documentation on a topic — always current API signatures, not training-data guesses. Returns explanations of Fluent APIs, types, patterns, and best practices. Known topics include: GlideQuery, table API, scoped app, now.config.json, keys.ts, metadata, Record, Now.del, Now.attach, DataLookup, RestMessage, Alias, AliasTemplate, RetryPolicy, Playbook, Flow, Subflow, CustomAction, TryCatch, DoInParallel, FlowStages, AiAgent, AiAgentWorkflow, roleMap, NowAssistSkillConfig, UiPolicy, DataPolicy, Form, InstanceScan, ServicePortal, ImportSet, override, StateModel, cicd.",
8727
9034
  "inputSchema": {
8728
9035
  "type": "object",
8729
9036
  "properties": {
@@ -8789,6 +9096,43 @@
8789
9096
  "required": []
8790
9097
  }
8791
9098
  },
9099
+ {
9100
+ "name": "fluent_cicd",
9101
+ "description": "Run ServiceNow CI/CD operations via the SDK (`now-sdk cicd`, new in @servicenow/sdk 4.10). Drive scoped-app install/publish and ATF test-suite runs from a promotion pipeline, outside the local build/install flow. REQUIRES FLUENT_ENABLED=true and WRITE_ENABLED=true.",
9102
+ "inputSchema": {
9103
+ "type": "object",
9104
+ "properties": {
9105
+ "action": {
9106
+ "type": "string",
9107
+ "enum": [
9108
+ "install",
9109
+ "publish",
9110
+ "testsuite"
9111
+ ],
9112
+ "description": "install a published app version, publish an app scope to the app repo, or run an ATF test suite"
9113
+ },
9114
+ "appSysId": {
9115
+ "type": "string",
9116
+ "description": "App sys_id (required for action=install)"
9117
+ },
9118
+ "scope": {
9119
+ "type": "string",
9120
+ "description": "App scope, e.g. x_acme_app (required for action=publish)"
9121
+ },
9122
+ "appVersion": {
9123
+ "type": "string",
9124
+ "description": "App version, e.g. 1.0.0 (install/publish)"
9125
+ },
9126
+ "testSuiteName": {
9127
+ "type": "string",
9128
+ "description": "ATF test suite name (required for action=testsuite)"
9129
+ }
9130
+ },
9131
+ "required": [
9132
+ "action"
9133
+ ]
9134
+ }
9135
+ },
8792
9136
  {
8793
9137
  "name": "search_servicenow_docs",
8794
9138
  "description": "Search the official ServiceNow product documentation (servicenow.com/docs) — API references (GlideRecord, GlideSystem, GlideAjax…), admin & developer guides, encoded-query operators, release notes. Returns ranked results with title, breadcrumb, URL, snippet, and a `ref` to read the full page with fetch_servicenow_doc. Use this to ground answers in current ServiceNow docs rather than memory. Read-only; uses the public docs site, not your instance.",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nowaikit",
3
3
  "mcpName": "io.github.aartiq/nowaikit",
4
- "version": "4.9.1",
4
+ "version": "4.11.0",
5
5
  "description": "The most comprehensive ServiceNow AI toolkit. 450+ MCP tools plus 26 AI capabilities (scan, review, build, ops, docs) plus direct BYOK mode. Integrates with Claude, ChatGPT, Gemini, Cursor, GitHub Copilot and any LLM.",
6
6
  "main": "dist/server.js",
7
7
  "types": "dist/server.d.ts",
@@ -144,5 +144,9 @@
144
144
  "tsx": "^4.7.0",
145
145
  "typescript": "^5.3.3",
146
146
  "vitest": "^4.0.18"
147
+ },
148
+ "funding": {
149
+ "type": "individual",
150
+ "url": "https://nowaikit.com"
147
151
  }
148
152
  }