nowaikit 4.1.0 → 4.1.2

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.
@@ -8662,15 +8662,55 @@
8662
8662
  ]
8663
8663
  }
8664
8664
  },
8665
+ {
8666
+ "name": "fluent_sdk_query",
8667
+ "description": "Run `now-sdk query <table>` — a read-only Table REST API query executed via the ServiceNow SDK CLI against your authenticated instance (no browser). New in @servicenow/sdk 4.8. Ideal while authoring Fluent code: resolve sys_ids, inspect table schemas, check existing records, read choice values. Example: { table: \"sys_user_role\", query: \"name=admin\", fields: [\"sys_id\",\"name\"], limit: 1 }",
8668
+ "inputSchema": {
8669
+ "type": "object",
8670
+ "properties": {
8671
+ "table": {
8672
+ "type": "string",
8673
+ "description": "Table to query (e.g., \"incident\", \"sys_dictionary\")"
8674
+ },
8675
+ "query": {
8676
+ "type": "string",
8677
+ "description": "Encoded query string (e.g., \"name=admin^active=true\")"
8678
+ },
8679
+ "fields": {
8680
+ "type": "array",
8681
+ "items": {
8682
+ "type": "string"
8683
+ },
8684
+ "description": "Fields to return (e.g., [\"sys_id\",\"name\"])"
8685
+ },
8686
+ "limit": {
8687
+ "type": "number",
8688
+ "description": "Max rows to return"
8689
+ }
8690
+ },
8691
+ "required": [
8692
+ "table"
8693
+ ]
8694
+ }
8695
+ },
8696
+ {
8697
+ "name": "fluent_version",
8698
+ "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.",
8699
+ "inputSchema": {
8700
+ "type": "object",
8701
+ "properties": {},
8702
+ "required": []
8703
+ }
8704
+ },
8665
8705
  {
8666
8706
  "name": "fluent_explain",
8667
- "description": "Run `npx @servicenow/sdk explain <topic>` to get SDK documentation on a topic. Returns explanations of fluent APIs, types, patterns, and best practices.",
8707
+ "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.",
8668
8708
  "inputSchema": {
8669
8709
  "type": "object",
8670
8710
  "properties": {
8671
8711
  "topic": {
8672
8712
  "type": "string",
8673
- "description": "Topic to explain (e.g., \"GlideQuery\", \"table API\", \"scoped app\")"
8713
+ "description": "Topic to explain. Examples: GlideQuery, table API, scoped app, now.config.json, keys.ts, metadata, Record, Now.del, etc."
8674
8714
  }
8675
8715
  },
8676
8716
  "required": [
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nowaikit",
3
3
  "mcpName": "io.github.aartiq/nowaikit",
4
- "version": "4.1.0",
4
+ "version": "4.1.2",
5
5
  "description": "The Most Comprehensive ServiceNow AI Toolkit \u2014 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
7
  "types": "dist/server.d.ts",
@@ -107,13 +107,13 @@
107
107
  "servicenow-sdk"
108
108
  ],
109
109
  "author": "aartiq",
110
- "homepage": "https://github.com/aartiq/nowaikit#readme",
110
+ "homepage": "https://nowaikit.com",
111
111
  "repository": {
112
112
  "type": "git",
113
- "url": "https://github.com/aartiq/nowaikit.git"
113
+ "url": "https://github.com/aartiq/servicenow-mcp.git"
114
114
  },
115
115
  "bugs": {
116
- "url": "https://github.com/aartiq/nowaikit/issues"
116
+ "url": "https://github.com/aartiq/servicenow-mcp/issues"
117
117
  },
118
118
  "license": "SEE LICENSE IN LICENSE",
119
119
  "overrides": {
@@ -1 +0,0 @@
1
- *,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--brand-gradient: linear-gradient(135deg, #00D4AA 0%, #0F4C81 100%);--text-gradient: linear-gradient(135deg, #00D4AA 0%, #0F4C81 100%)}:root,[data-accent=teal]{--accent: #00D4AA;--accent-dim: #00B08E;--accent-bg: rgba(0,212,170,.12);--accent-glow:rgba(0,212,170,.25);--accent2: #0F4C81}[data-accent=navy]{--accent: #0F4C81;--accent-dim: #0A3A64;--accent-bg: rgba(15,76,129,.12);--accent-glow:rgba(15,76,129,.25);--accent2: #00D4AA}[data-accent=blue]{--accent: #3b82f6;--accent-dim: #2563eb;--accent-bg: rgba(59,130,246,.12);--accent-glow:rgba(59,130,246,.25);--accent2: #60a5fa}[data-accent=emerald]{--accent: #22c55e;--accent-dim: #15803d;--accent-bg: rgba(34,197,94,.12);--accent-glow:rgba(34,197,94,.25);--accent2: #00D4AA}[data-accent=amber]{--accent: #f59e0b;--accent-dim: #d97706;--accent-bg: rgba(245,158,11,.12);--accent-glow:rgba(245,158,11,.25);--accent2: #fb923c}:root,[data-theme=dark]{--bg: #050810;--surface: #0B1020;--surface2: #111828;--surface3: #182035;--border: rgba(0,212,170,.12);--border2: rgba(0,212,170,.25);--text: #F1F3F8;--text2: #7E8DA8;--dim: #4A5670;--green: #10b981;--red: #E8466A;--yellow: #FF6B35;--radius: 8px;--font: system-ui, -apple-system, "Segoe UI", sans-serif;--shadow: 0 8px 32px rgba(0,0,0,.6);--shadow-sm:0 2px 8px rgba(0,0,0,.4);color-scheme:dark}[data-theme=light]{--bg: #F5F7FA;--surface: #EDF0F5;--surface2: #ffffff;--surface3: #e2e8f0;--border: rgba(15,76,129,.12);--border2: rgba(15,76,129,.25);--text: #0A1628;--text2: #3A4A64;--dim: #7E8DA8;--green: #10b981;--red: #E8466A;--yellow: #d97706;--shadow: 0 8px 32px rgba(15,76,129,.12);--shadow-sm:0 2px 8px rgba(15,76,129,.06);color-scheme:light}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}button{cursor:pointer;font-family:inherit;font-size:inherit}a{color:var(--accent);text-decoration:none}code,pre{font-family:SF Mono,Cascadia Code,Fira Code,monospace}input,textarea,select{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--dim)}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-weight:500;font-size:.875rem;transition:opacity .15s}.btn-primary:hover:not(:disabled){opacity:.85}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text2);border:1px solid var(--border);border-radius:6px;padding:8px 16px;font-size:.875rem;transition:border-color .15s,color .15s}.btn-ghost:hover{border-color:var(--accent);color:var(--text)}.btn-danger{background:#7f1d1d;color:#fca5a5;border:none;border-radius:6px;padding:5px 10px;font-size:.78rem}.btn-danger:hover{background:#991b1b}.input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:8px 10px;font-size:.875rem;outline:none;transition:border-color .15s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--dim)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.badge-green{display:inline-block;background:#10b9811f;color:#34d399;padding:2px 8px;border-radius:12px;font-size:.72rem;font-weight:500}.badge-blue{display:inline-block;background:#3b82f61f;color:#60a5fa;padding:2px 8px;border-radius:12px;font-size:.72rem;font-weight:500}.badge-teal{display:inline-block;background:#00d4aa1f;color:#33dcbb;padding:2px 8px;border-radius:12px;font-size:.72rem;font-weight:500}.badge-dim{display:inline-block;background:var(--surface2);color:var(--dim);padding:2px 8px;border-radius:12px;font-size:.72rem;font-weight:500}.badge-yellow{display:inline-block;background:#f59e0b1f;color:#ff8a55;padding:2px 8px;border-radius:12px;font-size:.72rem;font-weight:500}.badge-red{display:inline-block;background:#e8466a1f;color:#f06a82;padding:2px 8px;border-radius:12px;font-size:.72rem;font-weight:500}.result-box{background:#080c18;border:1px solid var(--border);border-radius:6px;padding:12px;font-family:monospace;font-size:.78rem;line-height:1.6;color:#80e8d0;white-space:pre-wrap;word-break:break-all;max-height:320px;overflow-y:auto}.dot{width:7px;height:7px;border-radius:50%;background:var(--dim);display:inline-block}.dot.green{background:var(--green);box-shadow:0 0 6px var(--green)}.dot.red{background:var(--red)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title{font-size:1rem;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.fade-in{animation:fadeIn .2s ease}