nowaikit 3.1.0 → 4.0.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 (229) hide show
  1. package/desktop/renderer/dist/assets/index-D46KUWoj.js +49 -0
  2. package/desktop/renderer/dist/index.html +5 -5
  3. package/desktop/serve.cjs +88 -0
  4. package/dist/a2a/agent-card.d.ts +8 -0
  5. package/dist/a2a/agent-card.d.ts.map +1 -0
  6. package/dist/a2a/agent-card.js +82 -0
  7. package/dist/a2a/agent-card.js.map +1 -0
  8. package/dist/a2a/index.d.ts +13 -0
  9. package/dist/a2a/index.d.ts.map +1 -0
  10. package/dist/a2a/index.js +74 -0
  11. package/dist/a2a/index.js.map +1 -0
  12. package/dist/a2a/task-manager.d.ts +20 -0
  13. package/dist/a2a/task-manager.d.ts.map +1 -0
  14. package/dist/a2a/task-manager.js +148 -0
  15. package/dist/a2a/task-manager.js.map +1 -0
  16. package/dist/a2a/types.d.ts +73 -0
  17. package/dist/a2a/types.d.ts.map +1 -0
  18. package/dist/a2a/types.js +6 -0
  19. package/dist/a2a/types.js.map +1 -0
  20. package/dist/api/index.d.ts +16 -0
  21. package/dist/api/index.d.ts.map +1 -0
  22. package/dist/api/index.js +106 -0
  23. package/dist/api/index.js.map +1 -0
  24. package/dist/cli/config-store.d.ts +9 -0
  25. package/dist/cli/config-store.d.ts.map +1 -1
  26. package/dist/cli/config-store.js.map +1 -1
  27. package/dist/cli/index.js +100 -6
  28. package/dist/cli/index.js.map +1 -1
  29. package/dist/cli/setup.d.ts.map +1 -1
  30. package/dist/cli/setup.js +196 -13
  31. package/dist/cli/setup.js.map +1 -1
  32. package/dist/cli/writers/index.d.ts.map +1 -1
  33. package/dist/cli/writers/index.js +4 -3
  34. package/dist/cli/writers/index.js.map +1 -1
  35. package/dist/dashboard/index.d.ts +7 -0
  36. package/dist/dashboard/index.d.ts.map +1 -0
  37. package/dist/dashboard/index.js +111 -0
  38. package/dist/dashboard/index.js.map +1 -0
  39. package/dist/direct/llm-client.d.ts +1 -1
  40. package/dist/direct/llm-client.d.ts.map +1 -1
  41. package/dist/direct/llm-client.js +6 -1
  42. package/dist/direct/llm-client.js.map +1 -1
  43. package/dist/prompts/capabilities/build-app.d.ts.map +1 -1
  44. package/dist/prompts/capabilities/build-app.js +2 -0
  45. package/dist/prompts/capabilities/build-app.js.map +1 -1
  46. package/dist/prompts/capabilities/build-atf-suite.d.ts +4 -0
  47. package/dist/prompts/capabilities/build-atf-suite.d.ts.map +1 -0
  48. package/dist/prompts/capabilities/build-atf-suite.js +143 -0
  49. package/dist/prompts/capabilities/build-atf-suite.js.map +1 -0
  50. package/dist/prompts/capabilities/build-business-rule.d.ts.map +1 -1
  51. package/dist/prompts/capabilities/build-business-rule.js +2 -0
  52. package/dist/prompts/capabilities/build-business-rule.js.map +1 -1
  53. package/dist/prompts/capabilities/build-catalog.d.ts.map +1 -1
  54. package/dist/prompts/capabilities/build-catalog.js +2 -0
  55. package/dist/prompts/capabilities/build-catalog.js.map +1 -1
  56. package/dist/prompts/capabilities/build-client-script.d.ts.map +1 -1
  57. package/dist/prompts/capabilities/build-client-script.js +2 -0
  58. package/dist/prompts/capabilities/build-client-script.js.map +1 -1
  59. package/dist/prompts/capabilities/build-flow.d.ts.map +1 -1
  60. package/dist/prompts/capabilities/build-flow.js +2 -0
  61. package/dist/prompts/capabilities/build-flow.js.map +1 -1
  62. package/dist/prompts/capabilities/build-portal.d.ts.map +1 -1
  63. package/dist/prompts/capabilities/build-portal.js +2 -0
  64. package/dist/prompts/capabilities/build-portal.js.map +1 -1
  65. package/dist/prompts/capabilities/build-rest-api.d.ts.map +1 -1
  66. package/dist/prompts/capabilities/build-rest-api.js +2 -0
  67. package/dist/prompts/capabilities/build-rest-api.js.map +1 -1
  68. package/dist/prompts/capabilities/build-test-plan.d.ts.map +1 -1
  69. package/dist/prompts/capabilities/build-test-plan.js +2 -0
  70. package/dist/prompts/capabilities/build-test-plan.js.map +1 -1
  71. package/dist/prompts/capabilities/build-uib.d.ts.map +1 -1
  72. package/dist/prompts/capabilities/build-uib.js +2 -0
  73. package/dist/prompts/capabilities/build-uib.js.map +1 -1
  74. package/dist/prompts/capabilities/docs-app.d.ts.map +1 -1
  75. package/dist/prompts/capabilities/docs-app.js +2 -0
  76. package/dist/prompts/capabilities/docs-app.js.map +1 -1
  77. package/dist/prompts/capabilities/docs-release.d.ts.map +1 -1
  78. package/dist/prompts/capabilities/docs-release.js +2 -0
  79. package/dist/prompts/capabilities/docs-release.js.map +1 -1
  80. package/dist/prompts/capabilities/docs-runbook.d.ts.map +1 -1
  81. package/dist/prompts/capabilities/docs-runbook.js +2 -0
  82. package/dist/prompts/capabilities/docs-runbook.js.map +1 -1
  83. package/dist/prompts/capabilities/docs-script.d.ts.map +1 -1
  84. package/dist/prompts/capabilities/docs-script.js +2 -0
  85. package/dist/prompts/capabilities/docs-script.js.map +1 -1
  86. package/dist/prompts/capabilities/ops-deploy.d.ts.map +1 -1
  87. package/dist/prompts/capabilities/ops-deploy.js +2 -0
  88. package/dist/prompts/capabilities/ops-deploy.js.map +1 -1
  89. package/dist/prompts/capabilities/ops-risk.d.ts.map +1 -1
  90. package/dist/prompts/capabilities/ops-risk.js +2 -0
  91. package/dist/prompts/capabilities/ops-risk.js.map +1 -1
  92. package/dist/prompts/capabilities/ops-triage.d.ts.map +1 -1
  93. package/dist/prompts/capabilities/ops-triage.js +2 -0
  94. package/dist/prompts/capabilities/ops-triage.js.map +1 -1
  95. package/dist/prompts/capabilities/review-acls.d.ts.map +1 -1
  96. package/dist/prompts/capabilities/review-acls.js +2 -0
  97. package/dist/prompts/capabilities/review-acls.js.map +1 -1
  98. package/dist/prompts/capabilities/review-code.d.ts.map +1 -1
  99. package/dist/prompts/capabilities/review-code.js +2 -0
  100. package/dist/prompts/capabilities/review-code.js.map +1 -1
  101. package/dist/prompts/capabilities/review-flows.d.ts.map +1 -1
  102. package/dist/prompts/capabilities/review-flows.js +2 -0
  103. package/dist/prompts/capabilities/review-flows.js.map +1 -1
  104. package/dist/prompts/capabilities/review-scripts.d.ts.map +1 -1
  105. package/dist/prompts/capabilities/review-scripts.js +2 -0
  106. package/dist/prompts/capabilities/review-scripts.js.map +1 -1
  107. package/dist/prompts/capabilities/scan-automation.d.ts.map +1 -1
  108. package/dist/prompts/capabilities/scan-automation.js +2 -0
  109. package/dist/prompts/capabilities/scan-automation.js.map +1 -1
  110. package/dist/prompts/capabilities/scan-cmdb.d.ts.map +1 -1
  111. package/dist/prompts/capabilities/scan-cmdb.js +2 -0
  112. package/dist/prompts/capabilities/scan-cmdb.js.map +1 -1
  113. package/dist/prompts/capabilities/scan-debt.d.ts.map +1 -1
  114. package/dist/prompts/capabilities/scan-debt.js +2 -0
  115. package/dist/prompts/capabilities/scan-debt.js.map +1 -1
  116. package/dist/prompts/capabilities/scan-health.d.ts.map +1 -1
  117. package/dist/prompts/capabilities/scan-health.js +2 -0
  118. package/dist/prompts/capabilities/scan-health.js.map +1 -1
  119. package/dist/prompts/capabilities/scan-security.d.ts.map +1 -1
  120. package/dist/prompts/capabilities/scan-security.js +2 -0
  121. package/dist/prompts/capabilities/scan-security.js.map +1 -1
  122. package/dist/prompts/capabilities/scan-upgrade.d.ts.map +1 -1
  123. package/dist/prompts/capabilities/scan-upgrade.js +2 -0
  124. package/dist/prompts/capabilities/scan-upgrade.js.map +1 -1
  125. package/dist/prompts/index.d.ts.map +1 -1
  126. package/dist/prompts/index.js +2 -0
  127. package/dist/prompts/index.js.map +1 -1
  128. package/dist/reports/brand.d.ts +79 -0
  129. package/dist/reports/brand.d.ts.map +1 -0
  130. package/dist/reports/brand.js +204 -0
  131. package/dist/reports/brand.js.map +1 -0
  132. package/dist/reports/charts.d.ts +11 -0
  133. package/dist/reports/charts.d.ts.map +1 -0
  134. package/dist/reports/charts.js +91 -0
  135. package/dist/reports/charts.js.map +1 -0
  136. package/dist/reports/index.d.ts +13 -0
  137. package/dist/reports/index.d.ts.map +1 -0
  138. package/dist/reports/index.js +65 -0
  139. package/dist/reports/index.js.map +1 -0
  140. package/dist/reports/parser.d.ts +13 -0
  141. package/dist/reports/parser.d.ts.map +1 -0
  142. package/dist/reports/parser.js +202 -0
  143. package/dist/reports/parser.js.map +1 -0
  144. package/dist/reports/pdf-generator.d.ts +8 -0
  145. package/dist/reports/pdf-generator.d.ts.map +1 -0
  146. package/dist/reports/pdf-generator.js +244 -0
  147. package/dist/reports/pdf-generator.js.map +1 -0
  148. package/dist/reports/pptx-generator.d.ts +8 -0
  149. package/dist/reports/pptx-generator.d.ts.map +1 -0
  150. package/dist/reports/pptx-generator.js +273 -0
  151. package/dist/reports/pptx-generator.js.map +1 -0
  152. package/dist/reports/types.d.ts +60 -0
  153. package/dist/reports/types.d.ts.map +1 -0
  154. package/dist/reports/types.js +7 -0
  155. package/dist/reports/types.js.map +1 -0
  156. package/dist/resources/index.d.ts.map +1 -1
  157. package/dist/resources/index.js +10 -0
  158. package/dist/resources/index.js.map +1 -1
  159. package/dist/resources/query-syntax.d.ts +6 -0
  160. package/dist/resources/query-syntax.d.ts.map +1 -0
  161. package/dist/resources/query-syntax.js +113 -0
  162. package/dist/resources/query-syntax.js.map +1 -0
  163. package/dist/sdk/index.d.ts +2 -0
  164. package/dist/sdk/index.d.ts.map +1 -1
  165. package/dist/sdk/index.js +2 -0
  166. package/dist/sdk/index.js.map +1 -1
  167. package/dist/server.d.ts +2 -1
  168. package/dist/server.d.ts.map +1 -1
  169. package/dist/server.js +103 -92
  170. package/dist/server.js.map +1 -1
  171. package/dist/tools/ai-agents.d.ts +145 -0
  172. package/dist/tools/ai-agents.d.ts.map +1 -0
  173. package/dist/tools/ai-agents.js +185 -0
  174. package/dist/tools/ai-agents.js.map +1 -0
  175. package/dist/tools/cmdb-reconciliation.d.ts +112 -0
  176. package/dist/tools/cmdb-reconciliation.d.ts.map +1 -0
  177. package/dist/tools/cmdb-reconciliation.js +267 -0
  178. package/dist/tools/cmdb-reconciliation.js.map +1 -0
  179. package/dist/tools/discovery.d.ts +34 -0
  180. package/dist/tools/discovery.d.ts.map +1 -0
  181. package/dist/tools/discovery.js +168 -0
  182. package/dist/tools/discovery.js.map +1 -0
  183. package/dist/tools/fluent.d.ts +105 -11
  184. package/dist/tools/fluent.d.ts.map +1 -1
  185. package/dist/tools/fluent.js +118 -1
  186. package/dist/tools/fluent.js.map +1 -1
  187. package/dist/tools/index.d.ts +840 -0
  188. package/dist/tools/index.d.ts.map +1 -1
  189. package/dist/tools/index.js +44 -6
  190. package/dist/tools/index.js.map +1 -1
  191. package/dist/tools/ml.d.ts +104 -0
  192. package/dist/tools/ml.d.ts.map +1 -1
  193. package/dist/tools/ml.js +139 -0
  194. package/dist/tools/ml.js.map +1 -1
  195. package/dist/tools/now-assist-skills.d.ts +129 -0
  196. package/dist/tools/now-assist-skills.d.ts.map +1 -0
  197. package/dist/tools/now-assist-skills.js +128 -0
  198. package/dist/tools/now-assist-skills.js.map +1 -0
  199. package/dist/tools/orchestration.d.ts +132 -0
  200. package/dist/tools/orchestration.d.ts.map +1 -0
  201. package/dist/tools/orchestration.js +320 -0
  202. package/dist/tools/orchestration.js.map +1 -0
  203. package/dist/tools/reporting.d.ts +127 -1
  204. package/dist/tools/reporting.d.ts.map +1 -1
  205. package/dist/tools/reporting.js +64 -0
  206. package/dist/tools/reporting.js.map +1 -1
  207. package/dist/tools/schema-cache.d.ts +44 -0
  208. package/dist/tools/schema-cache.d.ts.map +1 -0
  209. package/dist/tools/schema-cache.js +127 -0
  210. package/dist/tools/schema-cache.js.map +1 -0
  211. package/dist/tools-manifest.json +660 -0
  212. package/dist/transport/auth-middleware.d.ts +16 -0
  213. package/dist/transport/auth-middleware.d.ts.map +1 -0
  214. package/dist/transport/auth-middleware.js +31 -0
  215. package/dist/transport/auth-middleware.js.map +1 -0
  216. package/dist/transport/http-server.d.ts +44 -0
  217. package/dist/transport/http-server.d.ts.map +1 -0
  218. package/dist/transport/http-server.js +172 -0
  219. package/dist/transport/http-server.js.map +1 -0
  220. package/dist/transport/index.d.ts +19 -0
  221. package/dist/transport/index.d.ts.map +1 -0
  222. package/dist/transport/index.js +105 -0
  223. package/dist/transport/index.js.map +1 -0
  224. package/dist/utils/permissions.d.ts +2 -0
  225. package/dist/utils/permissions.d.ts.map +1 -1
  226. package/dist/utils/permissions.js +8 -0
  227. package/dist/utils/permissions.js.map +1 -1
  228. package/package.json +7 -1
  229. package/desktop/renderer/dist/assets/index-C_5k3daB.js +0 -49
@@ -0,0 +1,145 @@
1
+ /**
2
+ * AI Agents tools — create and manage AI agents and agentic workflows.
3
+ * Write tools require NOW_ASSIST_ENABLED + WRITE_ENABLED.
4
+ */
5
+ import type { ServiceNowClient } from '../servicenow/client.js';
6
+ export declare function getAiAgentsToolDefinitions(): ({
7
+ name: string;
8
+ description: string;
9
+ inputSchema: {
10
+ type: string;
11
+ properties: {
12
+ name: {
13
+ type: string;
14
+ description: string;
15
+ };
16
+ description: {
17
+ type: string;
18
+ description: string;
19
+ };
20
+ capabilities: {
21
+ type: string;
22
+ items: {
23
+ type: string;
24
+ };
25
+ description: string;
26
+ };
27
+ auto_generate_acls: {
28
+ type: string;
29
+ description: string;
30
+ };
31
+ active?: undefined;
32
+ limit?: undefined;
33
+ sys_id?: undefined;
34
+ agent_sys_id?: undefined;
35
+ steps?: undefined;
36
+ trigger_conditions?: undefined;
37
+ };
38
+ required: string[];
39
+ };
40
+ } | {
41
+ name: string;
42
+ description: string;
43
+ inputSchema: {
44
+ type: string;
45
+ properties: {
46
+ active: {
47
+ type: string;
48
+ description: string;
49
+ };
50
+ limit: {
51
+ type: string;
52
+ description: string;
53
+ };
54
+ name?: undefined;
55
+ description?: undefined;
56
+ capabilities?: undefined;
57
+ auto_generate_acls?: undefined;
58
+ sys_id?: undefined;
59
+ agent_sys_id?: undefined;
60
+ steps?: undefined;
61
+ trigger_conditions?: undefined;
62
+ };
63
+ required: never[];
64
+ };
65
+ } | {
66
+ name: string;
67
+ description: string;
68
+ inputSchema: {
69
+ type: string;
70
+ properties: {
71
+ sys_id: {
72
+ type: string;
73
+ description: string;
74
+ };
75
+ name?: undefined;
76
+ description?: undefined;
77
+ capabilities?: undefined;
78
+ auto_generate_acls?: undefined;
79
+ active?: undefined;
80
+ limit?: undefined;
81
+ agent_sys_id?: undefined;
82
+ steps?: undefined;
83
+ trigger_conditions?: undefined;
84
+ };
85
+ required: string[];
86
+ };
87
+ } | {
88
+ name: string;
89
+ description: string;
90
+ inputSchema: {
91
+ type: string;
92
+ properties: {
93
+ name: {
94
+ type: string;
95
+ description: string;
96
+ };
97
+ description: {
98
+ type: string;
99
+ description: string;
100
+ };
101
+ agent_sys_id: {
102
+ type: string;
103
+ description: string;
104
+ };
105
+ steps: {
106
+ type: string;
107
+ description: string;
108
+ items: {
109
+ type: string;
110
+ properties: {
111
+ name: {
112
+ type: string;
113
+ description: string;
114
+ };
115
+ action: {
116
+ type: string;
117
+ description: string;
118
+ };
119
+ inputs: {
120
+ type: string;
121
+ description: string;
122
+ };
123
+ condition: {
124
+ type: string;
125
+ description: string;
126
+ };
127
+ };
128
+ required: string[];
129
+ };
130
+ };
131
+ trigger_conditions: {
132
+ type: string;
133
+ description: string;
134
+ };
135
+ capabilities?: undefined;
136
+ auto_generate_acls?: undefined;
137
+ active?: undefined;
138
+ limit?: undefined;
139
+ sys_id?: undefined;
140
+ };
141
+ required: string[];
142
+ };
143
+ })[];
144
+ export declare function executeAiAgentsToolCall(client: ServiceNowClient, name: string, args: Record<string, any>): Promise<any>;
145
+ //# sourceMappingURL=ai-agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-agents.d.ts","sourceRoot":"","sources":["../../src/tools/ai-agents.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,wBAAgB,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAoEzC;AAMD,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CAoHd"}
@@ -0,0 +1,185 @@
1
+ import { ServiceNowError } from '../utils/errors.js';
2
+ import { requireNowAssist, requireWrite } from '../utils/permissions.js';
3
+ export function getAiAgentsToolDefinitions() {
4
+ return [
5
+ {
6
+ name: 'create_ai_agent',
7
+ description: 'Create an AI agent definition with optional auto-generated ACLs (requires NOW_ASSIST_ENABLED + WRITE_ENABLED)',
8
+ inputSchema: {
9
+ type: 'object',
10
+ properties: {
11
+ name: { type: 'string', description: 'Agent name' },
12
+ description: { type: 'string', description: 'Agent description' },
13
+ capabilities: { type: 'array', items: { type: 'string' }, description: 'List of capability identifiers the agent supports' },
14
+ auto_generate_acls: { type: 'boolean', description: 'Automatically create ACL records for the agent (default true)' },
15
+ },
16
+ required: ['name', 'description', 'capabilities'],
17
+ },
18
+ },
19
+ {
20
+ name: 'list_ai_agents',
21
+ description: 'List AI agent definitions',
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ active: { type: 'boolean', description: 'Filter by active status' },
26
+ limit: { type: 'number', description: 'Max records to return (default 25)' },
27
+ },
28
+ required: [],
29
+ },
30
+ },
31
+ {
32
+ name: 'get_ai_agent',
33
+ description: 'Get an AI agent definition and its related ACLs',
34
+ inputSchema: {
35
+ type: 'object',
36
+ properties: {
37
+ sys_id: { type: 'string', description: 'System ID of the AI agent' },
38
+ },
39
+ required: ['sys_id'],
40
+ },
41
+ },
42
+ {
43
+ name: 'create_agentic_workflow',
44
+ description: 'Create an agentic workflow linked to an AI agent (requires NOW_ASSIST_ENABLED + WRITE_ENABLED)',
45
+ inputSchema: {
46
+ type: 'object',
47
+ properties: {
48
+ name: { type: 'string', description: 'Workflow name' },
49
+ description: { type: 'string', description: 'Workflow description' },
50
+ agent_sys_id: { type: 'string', description: 'System ID of the parent AI agent' },
51
+ steps: {
52
+ type: 'array',
53
+ description: 'Ordered list of workflow steps',
54
+ items: {
55
+ type: 'object',
56
+ properties: {
57
+ name: { type: 'string', description: 'Step name' },
58
+ action: { type: 'string', description: 'Action identifier' },
59
+ inputs: { type: 'object', description: 'Step input parameters' },
60
+ condition: { type: 'string', description: 'Optional condition expression' },
61
+ },
62
+ required: ['name', 'action'],
63
+ },
64
+ },
65
+ trigger_conditions: { type: 'string', description: 'Optional trigger condition expression' },
66
+ },
67
+ required: ['name', 'description', 'agent_sys_id', 'steps'],
68
+ },
69
+ },
70
+ ];
71
+ }
72
+ const AI_AGENT_TOOL_NAMES = new Set([
73
+ 'create_ai_agent', 'list_ai_agents', 'get_ai_agent', 'create_agentic_workflow',
74
+ ]);
75
+ export async function executeAiAgentsToolCall(client, name, args) {
76
+ if (!AI_AGENT_TOOL_NAMES.has(name))
77
+ return null;
78
+ switch (name) {
79
+ case 'create_ai_agent': {
80
+ requireNowAssist();
81
+ requireWrite();
82
+ if (!args.name)
83
+ throw new ServiceNowError('name is required', 'INVALID_REQUEST');
84
+ if (!args.description)
85
+ throw new ServiceNowError('description is required', 'INVALID_REQUEST');
86
+ if (!args.capabilities || !Array.isArray(args.capabilities)) {
87
+ throw new ServiceNowError('capabilities must be an array of strings', 'INVALID_REQUEST');
88
+ }
89
+ const agentData = {
90
+ name: args.name,
91
+ description: args.description,
92
+ capabilities: args.capabilities.join(','),
93
+ active: true,
94
+ };
95
+ const agentRecord = await client.createRecord('sys_ai_agent', agentData);
96
+ const agentSysId = String(agentRecord.sys_id);
97
+ const autoAcls = args.auto_generate_acls !== false;
98
+ const createdAcls = [];
99
+ if (autoAcls) {
100
+ // Create read ACL for the agent
101
+ const readAcl = await client.createRecord('sys_security_acl', {
102
+ name: `${args.name} - Read`,
103
+ type: 'record',
104
+ operation: 'read',
105
+ admin_overrides: true,
106
+ active: true,
107
+ description: `Auto-generated read ACL for AI agent: ${args.name}`,
108
+ condition: `sys_ai_agent=${agentSysId}`,
109
+ });
110
+ createdAcls.push(readAcl);
111
+ // Create write ACL for the agent
112
+ const writeAcl = await client.createRecord('sys_security_acl', {
113
+ name: `${args.name} - Write`,
114
+ type: 'record',
115
+ operation: 'write',
116
+ admin_overrides: true,
117
+ active: true,
118
+ description: `Auto-generated write ACL for AI agent: ${args.name}`,
119
+ condition: `sys_ai_agent=${agentSysId}`,
120
+ });
121
+ createdAcls.push(writeAcl);
122
+ }
123
+ return {
124
+ message: 'AI agent created',
125
+ agent: agentRecord,
126
+ acls_created: createdAcls.length,
127
+ acls: createdAcls,
128
+ };
129
+ }
130
+ case 'list_ai_agents': {
131
+ const parts = [];
132
+ if (args.active !== undefined)
133
+ parts.push(`active=${args.active}`);
134
+ const query = parts.length > 0 ? parts.join('^') : undefined;
135
+ const resp = await client.queryRecords({
136
+ table: 'sys_ai_agent',
137
+ query,
138
+ limit: args.limit || 25,
139
+ fields: 'sys_id,name,description,capabilities,active,sys_updated_on',
140
+ });
141
+ return { count: resp.count, agents: resp.records };
142
+ }
143
+ case 'get_ai_agent': {
144
+ if (!args.sys_id)
145
+ throw new ServiceNowError('sys_id is required', 'INVALID_REQUEST');
146
+ const agent = await client.getRecord('sys_ai_agent', args.sys_id);
147
+ const agentSysId = String(agent.sys_id);
148
+ // Fetch related ACLs
149
+ const aclResp = await client.queryRecords({
150
+ table: 'sys_security_acl',
151
+ query: `conditionLIKEsys_ai_agent=${agentSysId}`,
152
+ limit: 20,
153
+ fields: 'sys_id,name,type,operation,active,description',
154
+ });
155
+ return { agent, acls: aclResp.records, acl_count: aclResp.count };
156
+ }
157
+ case 'create_agentic_workflow': {
158
+ requireNowAssist();
159
+ requireWrite();
160
+ if (!args.name)
161
+ throw new ServiceNowError('name is required', 'INVALID_REQUEST');
162
+ if (!args.description)
163
+ throw new ServiceNowError('description is required', 'INVALID_REQUEST');
164
+ if (!args.agent_sys_id)
165
+ throw new ServiceNowError('agent_sys_id is required', 'INVALID_REQUEST');
166
+ if (!args.steps || !Array.isArray(args.steps)) {
167
+ throw new ServiceNowError('steps must be an array', 'INVALID_REQUEST');
168
+ }
169
+ const workflowData = {
170
+ name: args.name,
171
+ description: args.description,
172
+ agent: args.agent_sys_id,
173
+ steps: JSON.stringify(args.steps),
174
+ active: true,
175
+ };
176
+ if (args.trigger_conditions)
177
+ workflowData.trigger_conditions = args.trigger_conditions;
178
+ const record = await client.createRecord('sys_ai_agentic_workflow', workflowData);
179
+ return { message: 'Agentic workflow created', workflow: record };
180
+ }
181
+ default:
182
+ return null;
183
+ }
184
+ }
185
+ //# sourceMappingURL=ai-agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-agents.js","sourceRoot":"","sources":["../../src/tools/ai-agents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * CMDB Reconciliation tools — find duplicates, orphans, stale CIs, and reconcile.
3
+ * Read tools: Tier 0. Reconcile action: Tier 2 (CMDB_WRITE_ENABLED=true).
4
+ */
5
+ import type { ServiceNowClient } from '../servicenow/client.js';
6
+ export declare function getCmdbReconciliationToolDefinitions(): ({
7
+ name: string;
8
+ description: string;
9
+ inputSchema: {
10
+ type: string;
11
+ properties: {
12
+ ci_class: {
13
+ type: string;
14
+ description: string;
15
+ };
16
+ match_fields: {
17
+ type: string;
18
+ items: {
19
+ type: string;
20
+ };
21
+ description: string;
22
+ };
23
+ limit: {
24
+ type: string;
25
+ description: string;
26
+ };
27
+ days_threshold?: undefined;
28
+ action?: undefined;
29
+ targets?: undefined;
30
+ dry_run?: undefined;
31
+ };
32
+ required: never[];
33
+ };
34
+ } | {
35
+ name: string;
36
+ description: string;
37
+ inputSchema: {
38
+ type: string;
39
+ properties: {
40
+ ci_class: {
41
+ type: string;
42
+ description: string;
43
+ };
44
+ limit: {
45
+ type: string;
46
+ description: string;
47
+ };
48
+ match_fields?: undefined;
49
+ days_threshold?: undefined;
50
+ action?: undefined;
51
+ targets?: undefined;
52
+ dry_run?: undefined;
53
+ };
54
+ required: never[];
55
+ };
56
+ } | {
57
+ name: string;
58
+ description: string;
59
+ inputSchema: {
60
+ type: string;
61
+ properties: {
62
+ ci_class: {
63
+ type: string;
64
+ description: string;
65
+ };
66
+ days_threshold: {
67
+ type: string;
68
+ description: string;
69
+ };
70
+ limit: {
71
+ type: string;
72
+ description: string;
73
+ };
74
+ match_fields?: undefined;
75
+ action?: undefined;
76
+ targets?: undefined;
77
+ dry_run?: undefined;
78
+ };
79
+ required: never[];
80
+ };
81
+ } | {
82
+ name: string;
83
+ description: string;
84
+ inputSchema: {
85
+ type: string;
86
+ properties: {
87
+ action: {
88
+ type: string;
89
+ enum: string[];
90
+ description: string;
91
+ };
92
+ targets: {
93
+ type: string;
94
+ items: {
95
+ type: string;
96
+ };
97
+ description: string;
98
+ };
99
+ dry_run: {
100
+ type: string;
101
+ description: string;
102
+ };
103
+ ci_class?: undefined;
104
+ match_fields?: undefined;
105
+ limit?: undefined;
106
+ days_threshold?: undefined;
107
+ };
108
+ required: string[];
109
+ };
110
+ })[];
111
+ export declare function executeCmdbReconciliationToolCall(client: ServiceNowClient, name: string, args: Record<string, any>): Promise<any>;
112
+ //# sourceMappingURL=cmdb-reconciliation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdb-reconciliation.d.ts","sourceRoot":"","sources":["../../src/tools/cmdb-reconciliation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,wBAAgB,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkEnD;AAMD,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CAyNd"}