nowaikit 4.0.5 → 4.1.1

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 (62) hide show
  1. package/README.md +1 -1
  2. package/dist/a2a/agent-card.d.ts.map +1 -1
  3. package/dist/a2a/agent-card.js +2 -1
  4. package/dist/a2a/agent-card.js.map +1 -1
  5. package/dist/cli/setup.d.ts.map +1 -1
  6. package/dist/cli/setup.js +12 -1
  7. package/dist/cli/setup.js.map +1 -1
  8. package/dist/dashboard/index.d.ts.map +1 -1
  9. package/dist/dashboard/index.js +2 -1
  10. package/dist/dashboard/index.js.map +1 -1
  11. package/dist/direct/llm-client.d.ts +20 -2
  12. package/dist/direct/llm-client.d.ts.map +1 -1
  13. package/dist/direct/llm-client.js +257 -51
  14. package/dist/direct/llm-client.js.map +1 -1
  15. package/dist/server.d.ts.map +1 -1
  16. package/dist/server.js +41 -3
  17. package/dist/server.js.map +1 -1
  18. package/dist/servicenow/client.d.ts +2 -0
  19. package/dist/servicenow/client.d.ts.map +1 -1
  20. package/dist/servicenow/client.js +1 -1
  21. package/dist/servicenow/client.js.map +1 -1
  22. package/dist/tools/core.d.ts +97 -0
  23. package/dist/tools/core.d.ts.map +1 -1
  24. package/dist/tools/core.js +111 -9
  25. package/dist/tools/core.js.map +1 -1
  26. package/dist/tools/fluent.d.ts +83 -0
  27. package/dist/tools/fluent.d.ts.map +1 -1
  28. package/dist/tools/fluent.js +108 -4
  29. package/dist/tools/fluent.js.map +1 -1
  30. package/dist/tools/governance.d.ts +107 -0
  31. package/dist/tools/governance.d.ts.map +1 -0
  32. package/dist/tools/governance.js +149 -0
  33. package/dist/tools/governance.js.map +1 -0
  34. package/dist/tools/index.d.ts +346 -1811
  35. package/dist/tools/index.d.ts.map +1 -1
  36. package/dist/tools/index.js +64 -3
  37. package/dist/tools/index.js.map +1 -1
  38. package/dist/tools-manifest.json +189 -5
  39. package/dist/transport/auth-middleware.d.ts +3 -1
  40. package/dist/transport/auth-middleware.d.ts.map +1 -1
  41. package/dist/transport/auth-middleware.js +59 -5
  42. package/dist/transport/auth-middleware.js.map +1 -1
  43. package/dist/transport/index.d.ts.map +1 -1
  44. package/dist/transport/index.js +3 -2
  45. package/dist/transport/index.js.map +1 -1
  46. package/dist/utils/audit.d.ts +15 -0
  47. package/dist/utils/audit.d.ts.map +1 -0
  48. package/dist/utils/audit.js +48 -0
  49. package/dist/utils/audit.js.map +1 -0
  50. package/dist/utils/guardrails.d.ts +5 -0
  51. package/dist/utils/guardrails.d.ts.map +1 -0
  52. package/dist/utils/guardrails.js +50 -0
  53. package/dist/utils/guardrails.js.map +1 -0
  54. package/dist/utils/version.d.ts +3 -0
  55. package/dist/utils/version.d.ts.map +1 -0
  56. package/dist/utils/version.js +25 -0
  57. package/dist/utils/version.js.map +1 -0
  58. package/package.json +3 -2
  59. package/skills/README.md +21 -0
  60. package/skills/servicenow-cmdb-health-audit/SKILL.md +23 -0
  61. package/skills/servicenow-incident-triage/SKILL.md +22 -0
  62. package/skills/servicenow-safe-deployment/SKILL.md +24 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAwQhE,wBAAgB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgBvB;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CAiDd"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAiShE,oEAAoE;AACpE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAelH;AAID,wBAAgB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuBvB;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CA6Dd"}
@@ -1,6 +1,7 @@
1
1
  import { ServiceNowError } from '../utils/errors.js';
2
2
  // Core (existing 15 tools)
3
3
  import { getCoreToolDefinitions, executeCoreToolCall } from './core.js';
4
+ import { getGovernanceToolDefinitions, executeGovernanceToolCall } from './governance.js';
4
5
  // ITSM
5
6
  import { getIncidentToolDefinitions, executeIncidentToolCall } from './incident.js';
6
7
  import { getProblemToolDefinitions, executeProblemToolCall } from './problem.js';
@@ -180,6 +181,8 @@ const PACKAGE_TOOL_NAMES = {
180
181
  'fluent_query', 'batch_request', 'execute_script', 'generate_report',
181
182
  // v4.0 Fluent SDK + discovery
182
183
  'fluent_explain', 'fluent_init', 'fluent_build', 'fluent_validate',
184
+ // @servicenow/sdk 4.8 parity
185
+ 'fluent_sdk_query', 'fluent_version',
183
186
  'discover_table',
184
187
  ],
185
188
  itom_engineer: [
@@ -205,6 +208,7 @@ const PACKAGE_TOOL_NAMES = {
205
208
  'get_virtual_agent_topics', 'trigger_agentic_playbook', 'get_ms_copilot_topics', 'generate_work_notes', 'get_pi_models',
206
209
  'search_knowledge', 'get_knowledge_article',
207
210
  'fluent_query', 'batch_request', 'execute_script', 'generate_report',
211
+ 'fluent_sdk_query', 'fluent_version',
208
212
  // v4.0 additions
209
213
  'create_now_assist_skill', 'list_now_assist_skills', 'get_now_assist_skill', 'test_now_assist_skill',
210
214
  'create_ai_agent', 'list_ai_agents', 'get_ai_agent', 'create_agentic_workflow',
@@ -216,6 +220,7 @@ const PACKAGE_TOOL_NAMES = {
216
220
  // ─── All Tool Definitions ─────────────────────────────────────────────────────
217
221
  const ALL_TOOLS = [
218
222
  ...getCoreToolDefinitions(),
223
+ ...getGovernanceToolDefinitions(),
219
224
  ...getIncidentToolDefinitions(),
220
225
  ...getProblemToolDefinitions(),
221
226
  ...getChangeToolDefinitions(),
@@ -253,25 +258,81 @@ const ALL_TOOLS = [
253
258
  ...getOrchestrationToolDefinitions(),
254
259
  ...getDiscoveryToolDefinitions(),
255
260
  ];
261
+ // ─── Dynamic tool discovery (search_tools) ──────────────────────────────────────
262
+ const SEARCH_TOOLS_DEF = {
263
+ name: 'search_tools',
264
+ description: 'Search the full NowAIKit tool catalog (400+ tools) by keyword to discover the right tool without loading every definition. Returns matching tool names + descriptions ranked by relevance. Use this FIRST when you are unsure which tool to call. Especially useful with MCP_TOOL_DISCOVERY=lean, which exposes only a small core set plus this search.',
265
+ inputSchema: {
266
+ type: 'object',
267
+ properties: {
268
+ query: { type: 'string', description: 'Keywords to match against tool names and descriptions, e.g. "create incident", "cmdb health", "run atf"' },
269
+ limit: { type: 'number', description: 'Max results to return (default 25)' },
270
+ },
271
+ required: ['query'],
272
+ },
273
+ };
274
+ /** A minimal always-available core set used when MCP_TOOL_DISCOVERY=lean. */
275
+ const LEAN_CORE_TOOL_NAMES = new Set([
276
+ 'search_tools', 'query_records', 'get_record', 'get_table_schema', 'validate_query',
277
+ 'create_record', 'update_record', 'delete_record', 'get_current_instance',
278
+ 'list_instances', 'switch_instance', 'natural_language_search',
279
+ ]);
280
+ /** Search the full catalog by keyword, returning ranked matches. */
281
+ export function searchTools(query, limit = 25) {
282
+ const terms = query.toLowerCase().split(/\s+/).filter(Boolean);
283
+ const scored = ALL_TOOLS.map((t) => {
284
+ const name = t.name.toLowerCase();
285
+ const desc = (t.description || '').toLowerCase();
286
+ let score = 0;
287
+ for (const term of terms) {
288
+ if (name === term)
289
+ score += 10;
290
+ if (name.includes(term))
291
+ score += 5;
292
+ if (desc.includes(term))
293
+ score += 2;
294
+ }
295
+ return { name: t.name, description: t.description || '', score };
296
+ }).filter((t) => t.score > 0);
297
+ scored.sort((a, b) => b.score - a.score);
298
+ return scored.slice(0, limit);
299
+ }
256
300
  // ─── Public API ───────────────────────────────────────────────────────────────
257
301
  export function getTools() {
258
302
  const packageName = (process.env.MCP_TOOL_PACKAGE || 'full').toLowerCase();
303
+ const discovery = (process.env.MCP_TOOL_DISCOVERY || '').toLowerCase();
259
304
  const dynamicTools = schemaCache.getGeneratedTools();
305
+ // Lean discovery mode: expose only a small core set + search_tools to keep
306
+ // the tool list small; the model uses search_tools to find the rest.
307
+ if (discovery === 'lean') {
308
+ return [SEARCH_TOOLS_DEF, ...ALL_TOOLS.filter((t) => LEAN_CORE_TOOL_NAMES.has(t.name)), ...dynamicTools];
309
+ }
260
310
  if (packageName === 'full') {
261
- return [...ALL_TOOLS, ...dynamicTools];
311
+ return [SEARCH_TOOLS_DEF, ...ALL_TOOLS, ...dynamicTools];
262
312
  }
263
313
  const allowed = PACKAGE_TOOL_NAMES[packageName];
264
314
  if (!allowed) {
265
315
  console.error(`[WARN] Unknown MCP_TOOL_PACKAGE "${packageName}". Using "full".`);
266
- return [...ALL_TOOLS, ...dynamicTools];
316
+ return [SEARCH_TOOLS_DEF, ...ALL_TOOLS, ...dynamicTools];
267
317
  }
268
318
  const allowedSet = new Set(allowed);
269
- return [...ALL_TOOLS.filter(t => allowedSet.has(t.name)), ...dynamicTools];
319
+ return [SEARCH_TOOLS_DEF, ...ALL_TOOLS.filter(t => allowedSet.has(t.name)), ...dynamicTools];
270
320
  }
271
321
  export async function executeTool(client, name, args) {
322
+ // Meta-tool: catalog search (operates on the registry, not the instance).
323
+ if (name === 'search_tools') {
324
+ const matches = searchTools(String(args.query || ''), typeof args.limit === 'number' ? args.limit : 25);
325
+ return {
326
+ query: args.query,
327
+ count: matches.length,
328
+ tools: matches.map(({ name, description }) => ({ name, description })),
329
+ hint: matches.length === 0 ? 'No tools matched. Try broader keywords.' : 'Call the most relevant tool by name.',
330
+ };
331
+ }
272
332
  // Try each domain handler in order; first non-null result wins
273
333
  const handlers = [
274
334
  () => executeCoreToolCall(client, name, args),
335
+ () => executeGovernanceToolCall(client, name, args),
275
336
  () => executeIncidentToolCall(client, name, args),
276
337
  () => executeProblemToolCall(client, name, args),
277
338
  () => executeChangeToolCall(client, name, args),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,24 @@
1
1
  [
2
+ {
3
+ "name": "search_tools",
4
+ "description": "Search the full NowAIKit tool catalog (400+ tools) by keyword to discover the right tool without loading every definition. Returns matching tool names + descriptions ranked by relevance. Use this FIRST when you are unsure which tool to call. Especially useful with MCP_TOOL_DISCOVERY=lean, which exposes only a small core set plus this search.",
5
+ "inputSchema": {
6
+ "type": "object",
7
+ "properties": {
8
+ "query": {
9
+ "type": "string",
10
+ "description": "Keywords to match against tool names and descriptions, e.g. \"create incident\", \"cmdb health\", \"run atf\""
11
+ },
12
+ "limit": {
13
+ "type": "number",
14
+ "description": "Max results to return (default 25)"
15
+ }
16
+ },
17
+ "required": [
18
+ "query"
19
+ ]
20
+ }
21
+ },
2
22
  {
3
23
  "name": "query_records",
4
24
  "description": "Query ServiceNow records with filtering, field selection, pagination, and sorting",
@@ -74,7 +94,7 @@
74
94
  },
75
95
  {
76
96
  "name": "create_record",
77
- "description": "Create a new record in any ServiceNow table (requires WRITE_ENABLED=true)",
97
+ "description": "Create a new record in any ServiceNow table (requires WRITE_ENABLED=true). Pass dry_run=true to preview the resolved payload without writing.",
78
98
  "inputSchema": {
79
99
  "type": "object",
80
100
  "properties": {
@@ -85,6 +105,10 @@
85
105
  "fields": {
86
106
  "type": "object",
87
107
  "description": "Key-value pairs for the new record fields"
108
+ },
109
+ "dry_run": {
110
+ "type": "boolean",
111
+ "description": "Preview only — return the resolved payload without creating the record"
88
112
  }
89
113
  },
90
114
  "required": [
@@ -95,7 +119,7 @@
95
119
  },
96
120
  {
97
121
  "name": "update_record",
98
- "description": "Update an existing record in any ServiceNow table (requires WRITE_ENABLED=true)",
122
+ "description": "Update an existing record in any ServiceNow table (requires WRITE_ENABLED=true). Pass dry_run=true to preview a before→after field diff without writing.",
99
123
  "inputSchema": {
100
124
  "type": "object",
101
125
  "properties": {
@@ -110,6 +134,10 @@
110
134
  "fields": {
111
135
  "type": "object",
112
136
  "description": "Key-value pairs of fields to update"
137
+ },
138
+ "dry_run": {
139
+ "type": "boolean",
140
+ "description": "Preview only — return a before→after diff without updating the record"
113
141
  }
114
142
  },
115
143
  "required": [
@@ -121,7 +149,7 @@
121
149
  },
122
150
  {
123
151
  "name": "delete_record",
124
- "description": "Delete a record from any ServiceNow table (requires WRITE_ENABLED=true)",
152
+ "description": "Delete a record from any ServiceNow table (requires WRITE_ENABLED=true). Pass dry_run=true to preview the record that would be deleted without deleting it.",
125
153
  "inputSchema": {
126
154
  "type": "object",
127
155
  "properties": {
@@ -132,6 +160,10 @@
132
160
  "sys_id": {
133
161
  "type": "string",
134
162
  "description": "32-character system ID of the record to delete"
163
+ },
164
+ "dry_run": {
165
+ "type": "boolean",
166
+ "description": "Preview only — return the record that would be deleted without deleting it"
135
167
  }
136
168
  },
137
169
  "required": [
@@ -140,6 +172,22 @@
140
172
  ]
141
173
  }
142
174
  },
175
+ {
176
+ "name": "validate_query",
177
+ "description": "Lint-check a ServiceNow encoded query BEFORE running it: validates javascript: expressions against the safe function allowlist, length limits, and common mistakes (e.g. using = instead of ^, raw spaces). Returns { valid, issues, suggestions }.",
178
+ "inputSchema": {
179
+ "type": "object",
180
+ "properties": {
181
+ "query": {
182
+ "type": "string",
183
+ "description": "The encoded query to validate, e.g. \"active=true^priority=1^ORDERBYDESCsys_created_on\""
184
+ }
185
+ },
186
+ "required": [
187
+ "query"
188
+ ]
189
+ }
190
+ },
143
191
  {
144
192
  "name": "get_user",
145
193
  "description": "Look up user details by email or username",
@@ -438,6 +486,102 @@
438
486
  ]
439
487
  }
440
488
  },
489
+ {
490
+ "name": "bulk_create_records",
491
+ "description": "Create many records in one table in a single call, tracking every created sys_id and returning a rollback_token. With rollback_on_error=true, a mid-way failure deletes everything already created so the batch is all-or-nothing. Supports dry_run. Requires WRITE_ENABLED=true.",
492
+ "inputSchema": {
493
+ "type": "object",
494
+ "properties": {
495
+ "table": {
496
+ "type": "string",
497
+ "description": "Target table"
498
+ },
499
+ "records": {
500
+ "type": "array",
501
+ "items": {
502
+ "type": "object"
503
+ },
504
+ "description": "Array of field key-value objects to create"
505
+ },
506
+ "rollback_on_error": {
507
+ "type": "boolean",
508
+ "description": "If a create fails, delete the ones already created (default false)"
509
+ },
510
+ "dry_run": {
511
+ "type": "boolean",
512
+ "description": "Preview the resolved payloads without creating anything"
513
+ }
514
+ },
515
+ "required": [
516
+ "table",
517
+ "records"
518
+ ]
519
+ }
520
+ },
521
+ {
522
+ "name": "rollback_changes",
523
+ "description": "Delete a set of previously-created records, e.g. the rollback_token returned by bulk_create_records. Requires WRITE_ENABLED=true.",
524
+ "inputSchema": {
525
+ "type": "object",
526
+ "properties": {
527
+ "changes": {
528
+ "type": "array",
529
+ "description": "Array of { table, sys_id } to delete",
530
+ "items": {
531
+ "type": "object",
532
+ "properties": {
533
+ "table": {
534
+ "type": "string"
535
+ },
536
+ "sys_id": {
537
+ "type": "string"
538
+ }
539
+ },
540
+ "required": [
541
+ "table",
542
+ "sys_id"
543
+ ]
544
+ }
545
+ }
546
+ },
547
+ "required": [
548
+ "changes"
549
+ ]
550
+ }
551
+ },
552
+ {
553
+ "name": "compare_instances",
554
+ "description": "Compare two configured ServiceNow instances: record counts for a table (with optional query) and/or a specific system property value. Useful for dev→prod drift detection and governance.",
555
+ "inputSchema": {
556
+ "type": "object",
557
+ "properties": {
558
+ "instance_a": {
559
+ "type": "string",
560
+ "description": "First instance name (as configured)"
561
+ },
562
+ "instance_b": {
563
+ "type": "string",
564
+ "description": "Second instance name (as configured)"
565
+ },
566
+ "table": {
567
+ "type": "string",
568
+ "description": "Table to compare record counts for (optional)"
569
+ },
570
+ "query": {
571
+ "type": "string",
572
+ "description": "Encoded query to scope the count (optional)"
573
+ },
574
+ "property": {
575
+ "type": "string",
576
+ "description": "A sys_properties name to compare values for (optional)"
577
+ }
578
+ },
579
+ "required": [
580
+ "instance_a",
581
+ "instance_b"
582
+ ]
583
+ }
584
+ },
441
585
  {
442
586
  "name": "create_incident",
443
587
  "description": "Create a new incident record (requires WRITE_ENABLED=true)",
@@ -8518,15 +8662,55 @@
8518
8662
  ]
8519
8663
  }
8520
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
+ },
8521
8705
  {
8522
8706
  "name": "fluent_explain",
8523
- "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.",
8524
8708
  "inputSchema": {
8525
8709
  "type": "object",
8526
8710
  "properties": {
8527
8711
  "topic": {
8528
8712
  "type": "string",
8529
- "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."
8530
8714
  }
8531
8715
  },
8532
8716
  "required": [
@@ -1,6 +1,8 @@
1
1
  /**
2
2
  * Bearer token authentication middleware for HTTP/SSE transport.
3
- * Validates NOWAIKIT_API_KEY when set; skips auth in dev mode (no key configured).
3
+ * Validates NOWAIKIT_API_KEY (comma-separated for multiple named keys) when set;
4
+ * skips auth in dev mode (no key configured). Uses constant-time comparison and
5
+ * a lightweight per-IP rate limiter.
4
6
  */
5
7
  import type { IncomingMessage, ServerResponse } from 'http';
6
8
  export interface AuthRequest extends IncomingMessage {
@@ -1 +1 @@
1
- {"version":3,"file":"auth-middleware.d.ts","sourceRoot":"","sources":["../../src/transport/auth-middleware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE5D,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI,CAyB5F;AAED,yDAAyD;AACzD,wBAAgB,cAAc,IAAI,OAAO,CAExC"}
1
+ {"version":3,"file":"auth-middleware.d.ts","sourceRoot":"","sources":["../../src/transport/auth-middleware.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAG5D,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAqDD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI,CA+B5F;AAED,yDAAyD;AACzD,wBAAgB,cAAc,IAAI,OAAO,CAExC"}
@@ -1,14 +1,68 @@
1
+ import { timingSafeEqual } from 'node:crypto';
2
+ /** Parse configured API keys (comma-separated). */
3
+ function configuredKeys() {
4
+ const raw = process.env.NOWAIKIT_API_KEY;
5
+ if (!raw)
6
+ return [];
7
+ return raw.split(',').map((k) => k.trim()).filter(Boolean);
8
+ }
9
+ /** Constant-time check of a presented token against the configured set. */
10
+ function tokenMatches(presented, keys) {
11
+ const presentedBuf = Buffer.from(presented);
12
+ let matched = false;
13
+ for (const key of keys) {
14
+ const keyBuf = Buffer.from(key);
15
+ // timingSafeEqual requires equal-length buffers; compare against a padded copy.
16
+ const a = Buffer.alloc(Math.max(presentedBuf.length, keyBuf.length));
17
+ const b = Buffer.alloc(a.length);
18
+ presentedBuf.copy(a);
19
+ keyBuf.copy(b);
20
+ if (presentedBuf.length === keyBuf.length && timingSafeEqual(a, b)) {
21
+ matched = true; // keep looping to avoid early-exit timing signal
22
+ }
23
+ }
24
+ return matched;
25
+ }
26
+ // ─── Rate limiter (fixed window, per IP) ────────────────────────────────────────
27
+ const RATE_WINDOW_MS = Number(process.env.NOWAIKIT_RATE_WINDOW_MS) || 60_000;
28
+ const RATE_MAX = Number(process.env.NOWAIKIT_RATE_MAX) || 120;
29
+ const hits = new Map();
30
+ function clientIp(req) {
31
+ const fwd = req.headers['x-forwarded-for'];
32
+ if (typeof fwd === 'string' && fwd.length)
33
+ return fwd.split(',')[0].trim();
34
+ return req.socket?.remoteAddress || 'unknown';
35
+ }
36
+ /** Returns true if the request is within the rate limit (and records the hit). */
37
+ function withinRateLimit(req) {
38
+ if (RATE_MAX <= 0)
39
+ return true; // disabled
40
+ const ip = clientIp(req);
41
+ const now = Date.now();
42
+ const entry = hits.get(ip);
43
+ if (!entry || now >= entry.resetAt) {
44
+ hits.set(ip, { count: 1, resetAt: now + RATE_WINDOW_MS });
45
+ return true;
46
+ }
47
+ entry.count += 1;
48
+ return entry.count <= RATE_MAX;
49
+ }
1
50
  /**
2
51
  * Express-compatible middleware that validates Bearer tokens.
3
52
  * If NOWAIKIT_API_KEY is not set, all requests pass through (dev mode).
4
53
  */
5
54
  export function authMiddleware(req, res, next) {
6
- const apiKey = process.env.NOWAIKIT_API_KEY;
7
- // No API key configured — dev mode, skip auth
8
- if (!apiKey) {
55
+ const keys = configuredKeys();
56
+ // No API key configured — dev mode, skip auth (but still rate-limit lightly).
57
+ if (keys.length === 0) {
9
58
  req.authenticated = true;
10
59
  return next();
11
60
  }
61
+ if (!withinRateLimit(req)) {
62
+ res.writeHead(429, { 'Content-Type': 'application/json', 'Retry-After': String(Math.ceil(RATE_WINDOW_MS / 1000)) });
63
+ res.end(JSON.stringify({ error: 'Rate limit exceeded. Try again later.' }));
64
+ return;
65
+ }
12
66
  const authHeader = req.headers.authorization;
13
67
  if (!authHeader || !authHeader.startsWith('Bearer ')) {
14
68
  res.writeHead(401, { 'Content-Type': 'application/json' });
@@ -16,7 +70,7 @@ export function authMiddleware(req, res, next) {
16
70
  return;
17
71
  }
18
72
  const token = authHeader.slice(7);
19
- if (token !== apiKey) {
73
+ if (!tokenMatches(token, keys)) {
20
74
  res.writeHead(403, { 'Content-Type': 'application/json' });
21
75
  res.end(JSON.stringify({ error: 'Invalid API key' }));
22
76
  return;
@@ -26,6 +80,6 @@ export function authMiddleware(req, res, next) {
26
80
  }
27
81
  /** Check if auth is required (API key is configured). */
28
82
  export function isAuthRequired() {
29
- return !!process.env.NOWAIKIT_API_KEY;
83
+ return configuredKeys().length > 0;
30
84
  }
31
85
  //# sourceMappingURL=auth-middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-middleware.js","sourceRoot":"","sources":["../../src/transport/auth-middleware.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,GAAgB,EAAE,GAAmB,EAAE,IAAgB;IACpF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAE5C,8CAA8C;IAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;IAC7C,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,yEAAyE,EAAE,CAAC,CAAC,CAAC;QAC9G,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,CAAC;AACT,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,cAAc;IAC5B,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"auth-middleware.js","sourceRoot":"","sources":["../../src/transport/auth-middleware.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGxE,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAErD,wBAAgB,gBAAgB,IAAI,aAAa,CAIhD;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAqBpC;AAyFD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAIxE,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAErD,wBAAgB,gBAAgB,IAAI,aAAa,CAIhD;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAqBpC;AAyFD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}