@arbium/enterprise-agent-connect 0.1.1 → 0.1.2-dev.75145ef

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 (231) hide show
  1. package/README.md +164 -12
  2. package/dist/connectors/dell-techdirect/index.d.ts +8 -0
  3. package/dist/connectors/dell-techdirect/tools.d.ts +2 -0
  4. package/dist/connectors/dell-techdirect/vendor.d.ts +6 -0
  5. package/dist/connectors/dynamics-365/connector.json +228 -0
  6. package/dist/connectors/dynamics-365/index.d.ts +8 -0
  7. package/dist/connectors/dynamics-365/index.js +10 -0
  8. package/dist/connectors/dynamics-365/index.js.map +1 -0
  9. package/dist/connectors/dynamics-365/tools.d.ts +35 -0
  10. package/dist/connectors/dynamics-365/tools.js +806 -0
  11. package/dist/connectors/dynamics-365/tools.js.map +1 -0
  12. package/dist/connectors/dynamics-365/vendor.d.ts +9 -0
  13. package/dist/connectors/dynamics-365/vendor.js +110 -0
  14. package/dist/connectors/dynamics-365/vendor.js.map +1 -0
  15. package/dist/connectors/entra/index.d.ts +2 -0
  16. package/dist/connectors/entra/tools.d.ts +14 -0
  17. package/dist/connectors/fedex/index.d.ts +8 -0
  18. package/dist/connectors/fedex/tools.d.ts +3 -0
  19. package/dist/connectors/fedex/vendor.d.ts +7 -0
  20. package/dist/connectors/gong/connector.json +127 -0
  21. package/dist/connectors/gong/index.d.ts +8 -0
  22. package/dist/connectors/gong/index.js +7 -0
  23. package/dist/connectors/gong/index.js.map +1 -0
  24. package/dist/connectors/gong/tools.d.ts +8 -0
  25. package/dist/connectors/gong/tools.js +424 -0
  26. package/dist/connectors/gong/tools.js.map +1 -0
  27. package/dist/connectors/gong/vendor.d.ts +4 -0
  28. package/dist/connectors/gong/vendor.js +89 -0
  29. package/dist/connectors/gong/vendor.js.map +1 -0
  30. package/dist/connectors/http/index.d.ts +34 -0
  31. package/dist/connectors/http/index.js +154 -64
  32. package/dist/connectors/http/index.js.map +1 -1
  33. package/dist/connectors/intune/index.d.ts +2 -0
  34. package/dist/connectors/intune/tools.d.ts +12 -0
  35. package/dist/connectors/jamf/connector.json +182 -0
  36. package/dist/connectors/jamf/index.d.ts +8 -0
  37. package/dist/connectors/jamf/index.js +7 -0
  38. package/dist/connectors/jamf/index.js.map +1 -0
  39. package/dist/connectors/jamf/tools.d.ts +7 -0
  40. package/dist/connectors/jamf/tools.js +659 -0
  41. package/dist/connectors/jamf/tools.js.map +1 -0
  42. package/dist/connectors/jamf/vendor.d.ts +5 -0
  43. package/dist/connectors/jamf/vendor.js +70 -0
  44. package/dist/connectors/jamf/vendor.js.map +1 -0
  45. package/dist/connectors/jira/connector.json +146 -3
  46. package/dist/connectors/jira/index.d.ts +8 -0
  47. package/dist/connectors/jira/jql.d.ts +4 -0
  48. package/dist/connectors/jira/tools.d.ts +3 -0
  49. package/dist/connectors/jira/vendor.d.ts +3 -0
  50. package/dist/connectors/jira/vendor.js +8 -2
  51. package/dist/connectors/jira/vendor.js.map +1 -1
  52. package/dist/connectors/microsoft/client.d.ts +66 -0
  53. package/dist/connectors/microsoft/client.js +26 -8
  54. package/dist/connectors/microsoft/client.js.map +1 -1
  55. package/dist/connectors/netsuite/connector.json +317 -0
  56. package/dist/connectors/netsuite/index.d.ts +8 -0
  57. package/dist/connectors/netsuite/index.js +7 -0
  58. package/dist/connectors/netsuite/index.js.map +1 -0
  59. package/dist/connectors/netsuite/tools.d.ts +24 -0
  60. package/dist/connectors/netsuite/tools.js +447 -0
  61. package/dist/connectors/netsuite/tools.js.map +1 -0
  62. package/dist/connectors/netsuite/vendor.d.ts +26 -0
  63. package/dist/connectors/netsuite/vendor.js +247 -0
  64. package/dist/connectors/netsuite/vendor.js.map +1 -0
  65. package/dist/connectors/odata/index.d.ts +33 -0
  66. package/dist/connectors/odata/index.js +460 -0
  67. package/dist/connectors/odata/index.js.map +1 -0
  68. package/dist/connectors/okta/connector.json +194 -0
  69. package/dist/connectors/okta/index.d.ts +8 -0
  70. package/dist/connectors/okta/index.js +7 -0
  71. package/dist/connectors/okta/index.js.map +1 -0
  72. package/dist/connectors/okta/tools.d.ts +6 -0
  73. package/dist/connectors/okta/tools.js +429 -0
  74. package/dist/connectors/okta/tools.js.map +1 -0
  75. package/dist/connectors/okta/vendor.d.ts +14 -0
  76. package/dist/connectors/okta/vendor.js +204 -0
  77. package/dist/connectors/okta/vendor.js.map +1 -0
  78. package/dist/connectors/outlook-calendar/index.d.ts +2 -0
  79. package/dist/connectors/outlook-calendar/tools.d.ts +65 -0
  80. package/dist/connectors/outlook-mail/index.d.ts +2 -0
  81. package/dist/connectors/outlook-mail/tools.d.ts +8 -0
  82. package/dist/connectors/salesforce/index.d.ts +8 -0
  83. package/dist/connectors/salesforce/soql.d.ts +3 -0
  84. package/dist/connectors/salesforce/tools.d.ts +9 -0
  85. package/dist/connectors/salesforce/vendor.d.ts +3 -0
  86. package/dist/connectors/salesforce/vendor.js +9 -3
  87. package/dist/connectors/salesforce/vendor.js.map +1 -1
  88. package/dist/connectors/sap-s4hana/connector.json +264 -0
  89. package/dist/connectors/sap-s4hana/index.d.ts +8 -0
  90. package/dist/connectors/sap-s4hana/index.js +7 -0
  91. package/dist/connectors/sap-s4hana/index.js.map +1 -0
  92. package/dist/connectors/sap-s4hana/tools.d.ts +4 -0
  93. package/dist/connectors/sap-s4hana/tools.js +761 -0
  94. package/dist/connectors/sap-s4hana/tools.js.map +1 -0
  95. package/dist/connectors/sap-s4hana/vendor.d.ts +5 -0
  96. package/dist/connectors/sap-s4hana/vendor.js +176 -0
  97. package/dist/connectors/sap-s4hana/vendor.js.map +1 -0
  98. package/dist/connectors/servicenow/connector.json +228 -0
  99. package/dist/connectors/servicenow/index.d.ts +8 -0
  100. package/dist/connectors/servicenow/index.js +7 -0
  101. package/dist/connectors/servicenow/index.js.map +1 -0
  102. package/dist/connectors/servicenow/tools.d.ts +4 -0
  103. package/dist/connectors/servicenow/tools.js +884 -0
  104. package/dist/connectors/servicenow/tools.js.map +1 -0
  105. package/dist/connectors/servicenow/vendor.d.ts +3 -0
  106. package/dist/connectors/servicenow/vendor.js +106 -0
  107. package/dist/connectors/servicenow/vendor.js.map +1 -0
  108. package/dist/connectors/sharepoint-files/excel.d.ts +16 -0
  109. package/dist/connectors/sharepoint-files/index.d.ts +8 -0
  110. package/dist/connectors/sharepoint-files/index.js.map +1 -1
  111. package/dist/connectors/sharepoint-files/tools.d.ts +52 -0
  112. package/dist/connectors/sharepoint-files/vendor.d.ts +11 -0
  113. package/dist/connectors/slack/connector.json +148 -0
  114. package/dist/connectors/slack/index.d.ts +8 -0
  115. package/dist/connectors/slack/index.js +7 -0
  116. package/dist/connectors/slack/index.js.map +1 -0
  117. package/dist/connectors/slack/tools.d.ts +3 -0
  118. package/dist/connectors/slack/tools.js +355 -0
  119. package/dist/connectors/slack/tools.js.map +1 -0
  120. package/dist/connectors/slack/vendor.d.ts +17 -0
  121. package/dist/connectors/slack/vendor.js +189 -0
  122. package/dist/connectors/slack/vendor.js.map +1 -0
  123. package/dist/connectors/soap/index.d.ts +16 -0
  124. package/dist/connectors/soap/index.js +248 -0
  125. package/dist/connectors/soap/index.js.map +1 -0
  126. package/dist/connectors/soap/xml.d.ts +12 -0
  127. package/dist/connectors/soap/xml.js +126 -0
  128. package/dist/connectors/soap/xml.js.map +1 -0
  129. package/dist/connectors/sql/engines.d.ts +58 -0
  130. package/dist/connectors/sql/engines.js +292 -0
  131. package/dist/connectors/sql/engines.js.map +1 -0
  132. package/dist/connectors/sql/index.d.ts +16 -0
  133. package/dist/connectors/sql/index.js +214 -0
  134. package/dist/connectors/sql/index.js.map +1 -0
  135. package/dist/connectors/teams/index.d.ts +2 -0
  136. package/dist/connectors/teams/tools.d.ts +7 -0
  137. package/dist/connectors/teams/tools.js +3 -2
  138. package/dist/connectors/teams/tools.js.map +1 -1
  139. package/dist/connectors/workday/connector.json +188 -0
  140. package/dist/connectors/workday/index.d.ts +8 -0
  141. package/dist/connectors/workday/index.js +7 -0
  142. package/dist/connectors/workday/index.js.map +1 -0
  143. package/dist/connectors/workday/tools.d.ts +33 -0
  144. package/dist/connectors/workday/tools.js +410 -0
  145. package/dist/connectors/workday/tools.js.map +1 -0
  146. package/dist/connectors/workday/vendor.d.ts +18 -0
  147. package/dist/connectors/workday/vendor.js +199 -0
  148. package/dist/connectors/workday/vendor.js.map +1 -0
  149. package/dist/packages/connector-kit/src/branding.d.ts +57 -0
  150. package/dist/packages/connector-kit/src/certificate.d.ts +19 -0
  151. package/dist/packages/connector-kit/src/common.d.ts +36 -0
  152. package/dist/packages/connector-kit/src/common.js +4 -1
  153. package/dist/packages/connector-kit/src/common.js.map +1 -1
  154. package/dist/packages/connector-kit/src/connector.d.ts +1356 -0
  155. package/dist/packages/connector-kit/src/connector.js +634 -53
  156. package/dist/packages/connector-kit/src/connector.js.map +1 -1
  157. package/dist/packages/connector-kit/src/fetch.d.ts +6 -0
  158. package/dist/packages/connector-kit/src/fetch.js +44 -0
  159. package/dist/packages/connector-kit/src/fetch.js.map +1 -0
  160. package/dist/packages/connector-kit/src/index.d.ts +5 -0
  161. package/dist/packages/connector-kit/src/index.js +6 -0
  162. package/dist/packages/connector-kit/src/index.js.map +1 -0
  163. package/dist/packages/connector-kit/src/oauth.d.ts +15 -0
  164. package/dist/packages/connector-kit/src/oauth.js +25 -6
  165. package/dist/packages/connector-kit/src/oauth.js.map +1 -1
  166. package/dist/packages/connector-kit/src/types.d.ts +87 -0
  167. package/dist/packages/connector-kit/src/types.js.map +1 -1
  168. package/dist/packages/server/migrations/0007_app_events.sql +110 -0
  169. package/dist/packages/server/migrations/rollback/to-legacy.sql +3 -0
  170. package/dist/packages/server/src/api.d.ts +3730 -0
  171. package/dist/packages/server/src/api.js +137 -1
  172. package/dist/packages/server/src/api.js.map +1 -1
  173. package/dist/packages/server/src/app.d.ts +23 -0
  174. package/dist/packages/server/src/app.js +24 -1
  175. package/dist/packages/server/src/app.js.map +1 -1
  176. package/dist/packages/server/src/builtin.d.ts +5 -0
  177. package/dist/packages/server/src/builtin.js +18 -0
  178. package/dist/packages/server/src/builtin.js.map +1 -1
  179. package/dist/packages/server/src/consent.d.ts +27 -0
  180. package/dist/packages/server/src/events/admin.d.ts +156 -0
  181. package/dist/packages/server/src/events/admin.js +255 -0
  182. package/dist/packages/server/src/events/admin.js.map +1 -0
  183. package/dist/packages/server/src/events/deliver.d.ts +43 -0
  184. package/dist/packages/server/src/events/deliver.js +129 -0
  185. package/dist/packages/server/src/events/deliver.js.map +1 -0
  186. package/dist/packages/server/src/events/runtime.d.ts +28 -0
  187. package/dist/packages/server/src/events/runtime.js +404 -0
  188. package/dist/packages/server/src/events/runtime.js.map +1 -0
  189. package/dist/packages/server/src/events/store.d.ts +172 -0
  190. package/dist/packages/server/src/events/store.js +275 -0
  191. package/dist/packages/server/src/events/store.js.map +1 -0
  192. package/dist/packages/server/src/index.d.ts +40 -0
  193. package/dist/packages/server/src/index.js +68 -11
  194. package/dist/packages/server/src/index.js.map +1 -1
  195. package/dist/packages/server/src/migrate.d.ts +11 -0
  196. package/dist/packages/server/src/openapi.d.ts +4 -0
  197. package/dist/packages/server/src/openapi.js +2 -2
  198. package/dist/packages/server/src/openapi.js.map +1 -1
  199. package/dist/packages/server/src/queue.d.ts +10 -0
  200. package/dist/packages/server/src/queue.js +45 -0
  201. package/dist/packages/server/src/queue.js.map +1 -0
  202. package/dist/packages/server/src/secrets.d.ts +19 -0
  203. package/dist/packages/server/src/server.d.ts +1 -0
  204. package/dist/packages/server/src/server.js +14 -1
  205. package/dist/packages/server/src/server.js.map +1 -1
  206. package/dist/packages/server/src/service.d.ts +767 -0
  207. package/dist/packages/server/src/service.js +19 -3
  208. package/dist/packages/server/src/service.js.map +1 -1
  209. package/dist/packages/server/src/store.d.ts +157 -0
  210. package/dist/packages/server/src/store.js +4 -0
  211. package/dist/packages/server/src/store.js.map +1 -1
  212. package/dist/packages/server/src/teams/activity.d.ts +123 -0
  213. package/dist/packages/server/src/teams/activity.js +6 -5
  214. package/dist/packages/server/src/teams/activity.js.map +1 -1
  215. package/dist/packages/server/src/teams/admin.d.ts +335 -0
  216. package/dist/packages/server/src/teams/admin.js +1 -1
  217. package/dist/packages/server/src/teams/admin.js.map +1 -1
  218. package/dist/packages/server/src/teams/approval.d.ts +57 -0
  219. package/dist/packages/server/src/teams/bot.d.ts +25 -0
  220. package/dist/packages/server/src/teams/claude.d.ts +46 -0
  221. package/dist/packages/server/src/teams/jwt.d.ts +17 -0
  222. package/dist/packages/server/src/teams/package.d.ts +79 -0
  223. package/dist/packages/server/src/teams/provision.d.ts +84 -0
  224. package/dist/packages/server/src/teams/runner.d.ts +80 -0
  225. package/dist/packages/server/src/teams/runner.js +50 -6
  226. package/dist/packages/server/src/teams/runner.js.map +1 -1
  227. package/dist/packages/server/src/teams/runtime.d.ts +91 -0
  228. package/dist/packages/server/src/teams/runtime.js +25 -47
  229. package/dist/packages/server/src/teams/runtime.js.map +1 -1
  230. package/dist/packages/server/src/teams/store.d.ts +233 -0
  231. package/package.json +28 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../connectors/sap-s4hana/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type Fetch, type Vendor } from "../../packages/connector-kit/src/types.js";
2
+ export declare const ODATA = "/sap/opu/odata/sap";
3
+ export declare function normalizeHost(input: string): string;
4
+ export declare function serviceRoot(path: string): string;
5
+ export declare function sapVendor(fetchImpl?: Fetch): Vendor;
@@ -0,0 +1,176 @@
1
+ import { createHash } from "node:crypto";
2
+ import { guardedFetch } from "../http/index.js";
3
+ import { ConnectError, TokenCache, } from "../../packages/connector-kit/src/types.js";
4
+ // SAP S/4HANA's released OData v2 APIs under /sap/opu/odata/sap/<service>/, the same on
5
+ // S/4HANA Cloud (a communication user of the services' communication arrangements) and on
6
+ // premise through SAP Gateway (a technical user, with the client as sap-client). Basic auth,
7
+ // or on Cloud OAuth 2.0 client credentials at /sap/bc/sec/oauth2/token with the
8
+ // communication user as the client. Writes carry an x-csrf-token fetched first from the same
9
+ // service, with the session cookies it came with.
10
+ export const ODATA = "/sap/opu/odata/sap";
11
+ const HOST = /^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*(?::\d{1,5})?$/;
12
+ const SAP_CLIENT = /^\d{3}$/;
13
+ const SERVICE = /^API_[A-Z0-9_]+$/;
14
+ // What connect reads to prove the user signs in: 401 is a refused sign-in, anything else
15
+ // (even 403 or 404 before the arrangement or service exists) means SAP knew the user.
16
+ const SIGN_IN_PROBE = `${ODATA}/API_BUSINESS_PARTNER/`;
17
+ export function normalizeHost(input) {
18
+ const raw = input.trim().toLowerCase();
19
+ if (raw.startsWith("http://"))
20
+ throw new ConnectError("SAP must be reached over https. Enter the https address.");
21
+ const host = raw.replace(/^https:\/\//, "").replace(/\/.*$/, "");
22
+ if (!HOST.test(host))
23
+ throw new ConnectError("Enter the API host name, for example my123456-api.s4hana.cloud.sap");
24
+ return host;
25
+ }
26
+ // The service a path belongs to: the CSRF token is fetched from its root.
27
+ export function serviceRoot(path) {
28
+ const m = /^\/sap\/opu\/odata\/sap\/(API_[A-Z0-9_]+)\//.exec(path);
29
+ if (!m)
30
+ throw new Error(`Not an SAP API path: ${path}`);
31
+ return `${ODATA}/${m[1]}/`;
32
+ }
33
+ export function sapVendor(fetchImpl = fetch) {
34
+ const tokens = new TokenCache();
35
+ const origin = (c) => `https://${c.config.host}`;
36
+ const withClient = (c, path) => c.config.sapClient
37
+ ? `${path}${path.includes("?") ? "&" : "?"}sap-client=${c.config.sapClient}`
38
+ : path;
39
+ const basic = (c) => `Basic ${Buffer.from(`${c.config.user}:${c.secret.password}`).toString("base64")}`;
40
+ const cacheKey = (c) => createHash("sha256")
41
+ .update(`${c.config.host}\n${c.config.user}\n${c.secret.password}`)
42
+ .digest("hex");
43
+ async function reach(c, path, init) {
44
+ try {
45
+ return await guardedFetch([origin(c)], fetchImpl)(`${origin(c)}${withClient(c, path)}`, init);
46
+ }
47
+ catch (error) {
48
+ if (error instanceof ConnectError)
49
+ throw error;
50
+ throw new ConnectError(`${c.config.host} could not be reached from this service`);
51
+ }
52
+ }
53
+ async function mint(c) {
54
+ const res = await reach(c, "/sap/bc/sec/oauth2/token", {
55
+ method: "POST",
56
+ headers: {
57
+ authorization: basic(c),
58
+ accept: "application/json",
59
+ "content-type": "application/x-www-form-urlencoded",
60
+ },
61
+ body: new URLSearchParams({ grant_type: "client_credentials" }),
62
+ });
63
+ const body = parse(await res.text());
64
+ if (!res.ok || typeof body?.access_token !== "string") {
65
+ const why = typeof body?.error_description === "string" ? body.error_description : null;
66
+ throw new ConnectError(`SAP refused the sign-in (${res.status})${why ? `: ${why.slice(0, 300)}` : ""}`);
67
+ }
68
+ const expiresIn = Number(body.expires_in);
69
+ if (!Number.isFinite(expiresIn) || expiresIn <= 60)
70
+ throw new ConnectError("SAP answered the sign-in without a usable token lifetime");
71
+ return { token: body.access_token, expiresIn };
72
+ }
73
+ async function authorization(c) {
74
+ return c.config.auth === "oauth"
75
+ ? `Bearer ${await tokens.get(cacheKey(c), () => mint(c))}`
76
+ : basic(c);
77
+ }
78
+ async function send(c, request, extra = {}) {
79
+ const res = await reach(c, request.path, {
80
+ method: request.method,
81
+ headers: {
82
+ authorization: await authorization(c),
83
+ accept: "application/json",
84
+ "accept-language": "en",
85
+ ...extra,
86
+ ...(request.body === undefined ? {} : { "content-type": "application/json" }),
87
+ },
88
+ body: request.body === undefined ? undefined : JSON.stringify(request.body),
89
+ });
90
+ const raw = await res.text();
91
+ return { status: res.status, data: raw ? parse(raw) : null, headers: res.headers };
92
+ }
93
+ // The token is bound to the session the cookies name, so both go with the write. A refused
94
+ // fetch is answered as is (a 401 is retried with a new OAuth token).
95
+ async function once(c, request) {
96
+ if (request.method === "GET")
97
+ return send(c, request);
98
+ const res = await send(c, { method: "GET", path: serviceRoot(request.path) }, { "x-csrf-token": "Fetch" });
99
+ if (res.status < 200 || res.status >= 300)
100
+ return res;
101
+ const token = res.headers.get("x-csrf-token");
102
+ if (!token || token.toLowerCase() === "required")
103
+ throw new ConnectError("SAP did not hand out a CSRF token for the change");
104
+ const cookie = res.headers
105
+ .getSetCookie()
106
+ .map((s) => s.split(";")[0])
107
+ .join("; ");
108
+ return send(c, request, { "x-csrf-token": token, ...(cookie ? { cookie } : {}) });
109
+ }
110
+ return {
111
+ async connect(fields) {
112
+ const deployment = fields.deployment === "on_premise" ? "on_premise" : "cloud";
113
+ const onPremise = deployment === "on_premise";
114
+ const host = normalizeHost((onPremise ? fields.gateway_host : fields.host) ?? "");
115
+ // Not asked on Cloud, which has no client to choose.
116
+ const sapClient = onPremise ? (fields.sap_client?.trim() ?? "") : "";
117
+ if (sapClient && !SAP_CLIENT.test(sapClient))
118
+ throw new ConnectError("The client is three digits, for example 100");
119
+ const user = fields.user?.trim();
120
+ const password = fields.password ?? "";
121
+ if (!user || !password)
122
+ throw new ConnectError("Enter the user name and password");
123
+ const auth = deployment === "cloud" && fields.auth === "oauth" ? "oauth" : "basic";
124
+ const system = sapClient ? `${host} client ${sapClient}` : host;
125
+ const conn = {
126
+ config: { deployment, auth, host, ...(sapClient ? { sapClient } : {}), user, system },
127
+ secret: { password },
128
+ };
129
+ if (auth === "oauth")
130
+ tokens.forget(cacheKey(conn));
131
+ const res = await send(conn, { method: "GET", path: SIGN_IN_PROBE });
132
+ if (res.status === 401)
133
+ throw new ConnectError(`SAP did not accept the user name and password for ${user}`);
134
+ return { ...conn, accountLabel: system };
135
+ },
136
+ async call(c, request) {
137
+ let res = await once(c, request);
138
+ if (res.status === 401 && c.config.auth === "oauth") {
139
+ tokens.forget(cacheKey(c));
140
+ res = await once(c, request);
141
+ }
142
+ return { status: res.status, data: res.data };
143
+ },
144
+ checks: {
145
+ // Which of the ticked capabilities' services this user can open (their service roots).
146
+ async services(c, { expected }) {
147
+ const reached = [];
148
+ const missing = [];
149
+ for (const service of expected.filter((s) => SERVICE.test(s))) {
150
+ const res = await send(c, { method: "GET", path: `${ODATA}/${service}/` });
151
+ if (res.status >= 200 && res.status < 300)
152
+ reached.push(service);
153
+ else
154
+ missing.push(`${service} (${res.status === 404 ? "not active" : res.status === 403 ? "not allowed for this user" : `answered ${res.status}`})`);
155
+ }
156
+ return {
157
+ values: reached,
158
+ ...(missing.length
159
+ ? {
160
+ warning: `The user cannot use these services yet: ${missing.join(", ")}. Follow the setup steps for them.`,
161
+ }
162
+ : {}),
163
+ };
164
+ },
165
+ },
166
+ };
167
+ }
168
+ function parse(raw) {
169
+ try {
170
+ return JSON.parse(raw);
171
+ }
172
+ catch {
173
+ return raw;
174
+ }
175
+ }
176
+ //# sourceMappingURL=vendor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendor.js","sourceRoot":"","sources":["../../../connectors/sap-s4hana/vendor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,228 @@
1
+ {
2
+ "id": "servicenow",
3
+ "name": "ServiceNow",
4
+ "description": "Let agents work on incidents, look up changes, devices and knowledge articles, and order from the service catalog in your ServiceNow instance.",
5
+ "logo": "/brand/registry/servicenow.svg",
6
+ "identity": "A ServiceNow integration user named \"{brand.microsoft.appName}\" with web service access only. Agents never see more than its roles allow.",
7
+ "accountKey": "instance",
8
+ "connectionKind": "guided",
9
+ "setup": [
10
+ {
11
+ "title": "Create an integration user",
12
+ "body": "Create a user named \"{brand.microsoft.appName}\" and select Web service access only, so it can call the API but never sign in to the ServiceNow interface.",
13
+ "click": [
14
+ "All > User Administration > Users > New",
15
+ "User ID: {brand.microsoft.appName}, First name: {brand.microsoft.appName}",
16
+ "Select Web service access only > Submit"
17
+ ]
18
+ },
19
+ {
20
+ "title": "Give it the roles agents need",
21
+ "body": "Add these roles to the integration user. Each one matches something you allow below, so leave out any that agents will not use. Knowledge articles are read with the integration user's own access: it must be allowed to read the knowledge bases agents should search.",
22
+ "click": [
23
+ "All > User Administration > Users > {brand.microsoft.appName}",
24
+ "Roles tab > Edit > add each role below > Save"
25
+ ],
26
+ "permissions": true
27
+ },
28
+ {
29
+ "title": "Set its password",
30
+ "body": "Open the integration user, select Set Password, and copy the password it makes. You enter it below.",
31
+ "click": [
32
+ "All > User Administration > Users > {brand.microsoft.appName}",
33
+ "Set Password > Generate > Save Password"
34
+ ],
35
+ "option": { "field": "auth", "value": "basic" }
36
+ },
37
+ {
38
+ "title": "Turn on the client credentials sign-in",
39
+ "body": "ServiceNow turns this sign-in off by default. Create the system property glide.oauth.inbound.client.credential.grant_type.enabled, of type true | false, with the value true. You need the oauth_admin role (or admin).",
40
+ "click": [
41
+ "In the navigator filter, type sys_properties.list and press Enter > New",
42
+ "Name: glide.oauth.inbound.client.credential.grant_type.enabled",
43
+ "Type: true | false, Value: true > Submit"
44
+ ],
45
+ "link": {
46
+ "label": "About client credentials in ServiceNow",
47
+ "href": "https://docs.servicenow.com/bundle/xanadu-platform-security/page/integrate/authentication/concept/client-credentials.html"
48
+ },
49
+ "option": { "field": "auth", "value": "oauth" }
50
+ },
51
+ {
52
+ "title": "Create an OAuth application registry entry",
53
+ "body": "Create an OAuth API endpoint for external clients named \"{brand.microsoft.appName}\", and set its OAuth Application User to the integration user, so every call runs as that user. If the form does not show OAuth Application User, add it with Configure > Form Layout. Then copy the client ID and the client secret (select the lock icon to see it).",
54
+ "click": [
55
+ "All > System OAuth > Application Registry > New > Create an OAuth API endpoint for external clients",
56
+ "Name: {brand.microsoft.appName} > Submit, then open the new entry",
57
+ "Form menu > Configure > Form Layout > move OAuth Application User to Selected > Save",
58
+ "OAuth Application User: {brand.microsoft.appName} > Update"
59
+ ],
60
+ "option": { "field": "auth", "value": "oauth" }
61
+ }
62
+ ],
63
+ "afterConnect": [],
64
+ "fields": [
65
+ {
66
+ "id": "instance",
67
+ "label": "Instance address",
68
+ "help": "The address you open ServiceNow at: your-company.service-now.com, or your company's own https address for it.",
69
+ "placeholder": "https://your-company.service-now.com",
70
+ "secret": false
71
+ },
72
+ {
73
+ "id": "auth",
74
+ "label": "Sign-in",
75
+ "secret": false,
76
+ "options": [
77
+ {
78
+ "value": "oauth",
79
+ "label": "OAuth application (recommended)",
80
+ "description": "An application registry entry that runs as the integration user. Its secret can be replaced without touching the user."
81
+ },
82
+ {
83
+ "value": "basic",
84
+ "label": "User name and password",
85
+ "description": "The integration user's own password. Use this when your instance cannot turn on client credentials."
86
+ }
87
+ ]
88
+ },
89
+ {
90
+ "id": "client_id",
91
+ "label": "Client ID",
92
+ "secret": false,
93
+ "requires": { "field": "auth", "value": "oauth" }
94
+ },
95
+ {
96
+ "id": "client_secret",
97
+ "label": "Client secret",
98
+ "secret": true,
99
+ "requires": { "field": "auth", "value": "oauth" }
100
+ },
101
+ {
102
+ "id": "username",
103
+ "label": "User ID",
104
+ "help": "The integration user's User ID.",
105
+ "secret": false,
106
+ "requires": { "field": "auth", "value": "basic" }
107
+ },
108
+ {
109
+ "id": "password",
110
+ "label": "Password",
111
+ "secret": true,
112
+ "requires": { "field": "auth", "value": "basic" }
113
+ }
114
+ ],
115
+ "capabilities": [
116
+ {
117
+ "id": "read_incidents",
118
+ "label": "Read incidents",
119
+ "description": "Search and read incidents, with their comments and work notes.",
120
+ "scopes": [],
121
+ "permissions": ["sn_incident_read"],
122
+ "forbidden": "Give the integration user the sn_incident_read role.",
123
+ "tools": ["servicenow_search_incidents", "servicenow_get_incident"]
124
+ },
125
+ {
126
+ "id": "create_incidents",
127
+ "label": "Open incidents",
128
+ "description": "Open new incidents.",
129
+ "scopes": [],
130
+ "permissions": ["sn_incident_write"],
131
+ "forbidden": "Give the integration user the sn_incident_write role.",
132
+ "tools": ["servicenow_create_incident"]
133
+ },
134
+ {
135
+ "id": "update_incidents",
136
+ "label": "Work on incidents",
137
+ "description": "Change and reassign incidents, add work notes and customer comments, and resolve incidents. A customer comment is usually emailed to the caller.",
138
+ "scopes": [],
139
+ "permissions": ["sn_incident_write"],
140
+ "forbidden": "Give the integration user the sn_incident_write role.",
141
+ "tools": [
142
+ "servicenow_update_incident",
143
+ "servicenow_add_incident_note",
144
+ "servicenow_resolve_incident"
145
+ ]
146
+ },
147
+ {
148
+ "id": "read_changes",
149
+ "label": "Read change requests",
150
+ "description": "Search and read change requests and their plans.",
151
+ "scopes": [],
152
+ "permissions": ["sn_change_read"],
153
+ "forbidden": "Give the integration user the sn_change_read role.",
154
+ "tools": ["servicenow_search_changes", "servicenow_get_change"]
155
+ },
156
+ {
157
+ "id": "read_cmdb",
158
+ "label": "Look up devices and systems",
159
+ "description": "Find configuration items in the CMDB by name or serial number.",
160
+ "scopes": [],
161
+ "permissions": ["cmdb_read"],
162
+ "forbidden": "Give the integration user the cmdb_read role.",
163
+ "tools": ["servicenow_find_configuration_items"]
164
+ },
165
+ {
166
+ "id": "read_knowledge",
167
+ "label": "Read knowledge articles",
168
+ "description": "Search and read published knowledge articles, as text.",
169
+ "scopes": [],
170
+ "permissions": [],
171
+ "forbidden": "Let the integration user read the knowledge bases agents should search (each knowledge base's Can Read user criteria).",
172
+ "tools": ["servicenow_search_knowledge", "servicenow_get_article"]
173
+ },
174
+ {
175
+ "id": "requests",
176
+ "label": "Browse the catalog and track requests",
177
+ "description": "Search the service catalog and follow requested items. Without the itil role agents see only the requests they placed.",
178
+ "scopes": [],
179
+ "permissions": ["itil"],
180
+ "forbidden": "Give the integration user the itil role.",
181
+ "tools": [
182
+ "servicenow_search_catalog_items",
183
+ "servicenow_get_catalog_item",
184
+ "servicenow_search_requests"
185
+ ]
186
+ },
187
+ {
188
+ "id": "order",
189
+ "label": "Order from the catalog",
190
+ "description": "Order catalog items for people. Each order starts the item's approvals and fulfillment.",
191
+ "note": "Orders go through the approvals your catalog items already have. An item with no approval is fulfilled as ordered.",
192
+ "scopes": [],
193
+ "permissions": [],
194
+ "tools": ["servicenow_order_catalog_item"]
195
+ }
196
+ ],
197
+ "limits": [
198
+ {
199
+ "id": "groups",
200
+ "label": "Assignment groups",
201
+ "help": "Group names, each unique in your instance. Incidents and change requests of other groups are hidden and cannot be changed, and new incidents must go to one of these. Leave empty to allow every group.",
202
+ "kind": "list",
203
+ "required": false,
204
+ "pattern": "^[^\\^\\r\\n]{1,100}$"
205
+ },
206
+ {
207
+ "id": "companies",
208
+ "label": "Companies",
209
+ "help": "Company names. Incidents, change requests, configuration items and requested items of other companies are hidden and cannot be changed, and agents may open incidents and order only for people of these companies. Knowledge articles and the catalog are not narrowed. Leave empty to allow every company.",
210
+ "kind": "list",
211
+ "required": false,
212
+ "pattern": "^[^\\^\\r\\n]{1,100}$"
213
+ }
214
+ ],
215
+ "verify": {
216
+ "method": "GET",
217
+ "path": "/api/now/table/sys_user?sysparm_query=sys_id%3Djavascript%3Ags.getUserID()&sysparm_fields=user_name&sysparm_limit=1",
218
+ "label": "Signed in as",
219
+ "show": "result[].user_name"
220
+ },
221
+ "discover": {
222
+ "method": "GET",
223
+ "path": "/api/now/table/sys_user_group?sysparm_query=active%3Dtrue%5EORDERBYname&sysparm_fields=name&sysparm_limit=500",
224
+ "label": "Assignment groups",
225
+ "show": "result[].name"
226
+ },
227
+ "revoke": "In ServiceNow, open System OAuth, then Application Registry, and set the {brand.microsoft.appName} entry to inactive, or open User Administration, then Users, and set the {brand.microsoft.appName} user to inactive."
228
+ }
@@ -0,0 +1,8 @@
1
+ declare const _default: {
2
+ id: string;
3
+ create: () => {
4
+ vendor: import("../../packages/connector-kit/src/types.js").Vendor;
5
+ toolset: import("../../packages/connector-kit/src/common.js").Toolset;
6
+ };
7
+ };
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { servicenowTools } from "./tools.js";
2
+ import { servicenowVendor } from "./vendor.js";
3
+ export default {
4
+ id: "servicenow",
5
+ create: () => ({ vendor: servicenowVendor(), toolset: servicenowTools }),
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../connectors/servicenow/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAe;IACb,EAAE,EAAE,YAAY;IAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;CAC/C,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type Toolset } from "../../packages/connector-kit/src/common.js";
2
+ export declare function safe(value: string, what?: string): string;
3
+ export declare function htmlText(html: string | null): string;
4
+ export declare const servicenowTools: Toolset;