@arbium/enterprise-agent-connect 0.1.1 → 0.1.2-dev.d2aa5ca
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.
- package/README.md +157 -10
- package/dist/connectors/dell-techdirect/index.d.ts +8 -0
- package/dist/connectors/dell-techdirect/tools.d.ts +2 -0
- package/dist/connectors/dell-techdirect/vendor.d.ts +6 -0
- package/dist/connectors/dynamics-365/connector.json +213 -0
- package/dist/connectors/dynamics-365/index.d.ts +11 -0
- package/dist/connectors/dynamics-365/index.js +10 -0
- package/dist/connectors/dynamics-365/index.js.map +1 -0
- package/dist/connectors/dynamics-365/tools.d.ts +35 -0
- package/dist/connectors/dynamics-365/tools.js +806 -0
- package/dist/connectors/dynamics-365/tools.js.map +1 -0
- package/dist/connectors/dynamics-365/vendor.d.ts +9 -0
- package/dist/connectors/dynamics-365/vendor.js +110 -0
- package/dist/connectors/dynamics-365/vendor.js.map +1 -0
- package/dist/connectors/entra/index.d.ts +2 -0
- package/dist/connectors/entra/tools.d.ts +14 -0
- package/dist/connectors/fedex/index.d.ts +8 -0
- package/dist/connectors/fedex/tools.d.ts +3 -0
- package/dist/connectors/fedex/vendor.d.ts +7 -0
- package/dist/connectors/gong/connector.json +127 -0
- package/dist/connectors/gong/index.d.ts +8 -0
- package/dist/connectors/gong/index.js +7 -0
- package/dist/connectors/gong/index.js.map +1 -0
- package/dist/connectors/gong/tools.d.ts +8 -0
- package/dist/connectors/gong/tools.js +424 -0
- package/dist/connectors/gong/tools.js.map +1 -0
- package/dist/connectors/gong/vendor.d.ts +4 -0
- package/dist/connectors/gong/vendor.js +97 -0
- package/dist/connectors/gong/vendor.js.map +1 -0
- package/dist/connectors/http/index.d.ts +38 -0
- package/dist/connectors/http/index.js +151 -64
- package/dist/connectors/http/index.js.map +1 -1
- package/dist/connectors/intune/index.d.ts +2 -0
- package/dist/connectors/intune/tools.d.ts +12 -0
- package/dist/connectors/jamf/connector.json +182 -0
- package/dist/connectors/jamf/index.d.ts +8 -0
- package/dist/connectors/jamf/index.js +7 -0
- package/dist/connectors/jamf/index.js.map +1 -0
- package/dist/connectors/jamf/tools.d.ts +7 -0
- package/dist/connectors/jamf/tools.js +659 -0
- package/dist/connectors/jamf/tools.js.map +1 -0
- package/dist/connectors/jamf/vendor.d.ts +5 -0
- package/dist/connectors/jamf/vendor.js +66 -0
- package/dist/connectors/jamf/vendor.js.map +1 -0
- package/dist/connectors/jira/connector.json +144 -1
- package/dist/connectors/jira/index.d.ts +8 -0
- package/dist/connectors/jira/jql.d.ts +4 -0
- package/dist/connectors/jira/tools.d.ts +3 -0
- package/dist/connectors/jira/vendor.d.ts +3 -0
- package/dist/connectors/microsoft/client.d.ts +58 -0
- package/dist/connectors/netsuite/connector.json +315 -0
- package/dist/connectors/netsuite/index.d.ts +8 -0
- package/dist/connectors/netsuite/index.js +7 -0
- package/dist/connectors/netsuite/index.js.map +1 -0
- package/dist/connectors/netsuite/tools.d.ts +24 -0
- package/dist/connectors/netsuite/tools.js +447 -0
- package/dist/connectors/netsuite/tools.js.map +1 -0
- package/dist/connectors/netsuite/vendor.d.ts +26 -0
- package/dist/connectors/netsuite/vendor.js +248 -0
- package/dist/connectors/netsuite/vendor.js.map +1 -0
- package/dist/connectors/odata/index.d.ts +36 -0
- package/dist/connectors/odata/index.js +460 -0
- package/dist/connectors/odata/index.js.map +1 -0
- package/dist/connectors/okta/connector.json +193 -0
- package/dist/connectors/okta/index.d.ts +8 -0
- package/dist/connectors/okta/index.js +7 -0
- package/dist/connectors/okta/index.js.map +1 -0
- package/dist/connectors/okta/tools.d.ts +6 -0
- package/dist/connectors/okta/tools.js +429 -0
- package/dist/connectors/okta/tools.js.map +1 -0
- package/dist/connectors/okta/vendor.d.ts +14 -0
- package/dist/connectors/okta/vendor.js +203 -0
- package/dist/connectors/okta/vendor.js.map +1 -0
- package/dist/connectors/outlook-calendar/index.d.ts +2 -0
- package/dist/connectors/outlook-calendar/tools.d.ts +65 -0
- package/dist/connectors/outlook-mail/index.d.ts +2 -0
- package/dist/connectors/outlook-mail/tools.d.ts +8 -0
- package/dist/connectors/salesforce/index.d.ts +8 -0
- package/dist/connectors/salesforce/soql.d.ts +3 -0
- package/dist/connectors/salesforce/tools.d.ts +9 -0
- package/dist/connectors/salesforce/vendor.d.ts +3 -0
- package/dist/connectors/sap-s4hana/connector.json +263 -0
- package/dist/connectors/sap-s4hana/index.d.ts +8 -0
- package/dist/connectors/sap-s4hana/index.js +7 -0
- package/dist/connectors/sap-s4hana/index.js.map +1 -0
- package/dist/connectors/sap-s4hana/tools.d.ts +4 -0
- package/dist/connectors/sap-s4hana/tools.js +761 -0
- package/dist/connectors/sap-s4hana/tools.js.map +1 -0
- package/dist/connectors/sap-s4hana/vendor.d.ts +5 -0
- package/dist/connectors/sap-s4hana/vendor.js +176 -0
- package/dist/connectors/sap-s4hana/vendor.js.map +1 -0
- package/dist/connectors/servicenow/connector.json +228 -0
- package/dist/connectors/servicenow/index.d.ts +8 -0
- package/dist/connectors/servicenow/index.js +7 -0
- package/dist/connectors/servicenow/index.js.map +1 -0
- package/dist/connectors/servicenow/tools.d.ts +4 -0
- package/dist/connectors/servicenow/tools.js +884 -0
- package/dist/connectors/servicenow/tools.js.map +1 -0
- package/dist/connectors/servicenow/vendor.d.ts +4 -0
- package/dist/connectors/servicenow/vendor.js +109 -0
- package/dist/connectors/servicenow/vendor.js.map +1 -0
- package/dist/connectors/sharepoint-files/excel.d.ts +16 -0
- package/dist/connectors/sharepoint-files/index.d.ts +11 -0
- package/dist/connectors/sharepoint-files/tools.d.ts +52 -0
- package/dist/connectors/sharepoint-files/vendor.d.ts +11 -0
- package/dist/connectors/slack/connector.json +148 -0
- package/dist/connectors/slack/index.d.ts +8 -0
- package/dist/connectors/slack/index.js +7 -0
- package/dist/connectors/slack/index.js.map +1 -0
- package/dist/connectors/slack/tools.d.ts +3 -0
- package/dist/connectors/slack/tools.js +355 -0
- package/dist/connectors/slack/tools.js.map +1 -0
- package/dist/connectors/slack/vendor.d.ts +17 -0
- package/dist/connectors/slack/vendor.js +195 -0
- package/dist/connectors/slack/vendor.js.map +1 -0
- package/dist/connectors/soap/index.d.ts +19 -0
- package/dist/connectors/soap/index.js +248 -0
- package/dist/connectors/soap/index.js.map +1 -0
- package/dist/connectors/soap/xml.d.ts +12 -0
- package/dist/connectors/soap/xml.js +126 -0
- package/dist/connectors/soap/xml.js.map +1 -0
- package/dist/connectors/sql/engines.d.ts +58 -0
- package/dist/connectors/sql/engines.js +292 -0
- package/dist/connectors/sql/engines.js.map +1 -0
- package/dist/connectors/sql/index.d.ts +19 -0
- package/dist/connectors/sql/index.js +212 -0
- package/dist/connectors/sql/index.js.map +1 -0
- package/dist/connectors/teams/index.d.ts +2 -0
- package/dist/connectors/teams/tools.d.ts +2 -0
- package/dist/connectors/workday/connector.json +186 -0
- package/dist/connectors/workday/index.d.ts +8 -0
- package/dist/connectors/workday/index.js +7 -0
- package/dist/connectors/workday/index.js.map +1 -0
- package/dist/connectors/workday/tools.d.ts +33 -0
- package/dist/connectors/workday/tools.js +410 -0
- package/dist/connectors/workday/tools.js.map +1 -0
- package/dist/connectors/workday/vendor.d.ts +18 -0
- package/dist/connectors/workday/vendor.js +195 -0
- package/dist/connectors/workday/vendor.js.map +1 -0
- package/dist/packages/connector-kit/src/branding.d.ts +57 -0
- package/dist/packages/connector-kit/src/certificate.d.ts +19 -0
- package/dist/packages/connector-kit/src/common.d.ts +40 -0
- package/dist/packages/connector-kit/src/connector.d.ts +1346 -0
- package/dist/packages/connector-kit/src/connector.js +586 -44
- package/dist/packages/connector-kit/src/connector.js.map +1 -1
- package/dist/packages/connector-kit/src/index.d.ts +5 -0
- package/dist/packages/connector-kit/src/index.js +5 -0
- package/dist/packages/connector-kit/src/index.js.map +1 -0
- package/dist/packages/connector-kit/src/oauth.d.ts +15 -0
- package/dist/packages/connector-kit/src/oauth.js +21 -4
- package/dist/packages/connector-kit/src/oauth.js.map +1 -1
- package/dist/packages/connector-kit/src/types.d.ts +85 -0
- package/dist/packages/connector-kit/src/types.js.map +1 -1
- package/dist/packages/server/migrations/0007_app_events.sql +110 -0
- package/dist/packages/server/migrations/rollback/to-legacy.sql +3 -0
- package/dist/packages/server/src/api.d.ts +3714 -0
- package/dist/packages/server/src/api.js +135 -1
- package/dist/packages/server/src/api.js.map +1 -1
- package/dist/packages/server/src/app.d.ts +23 -0
- package/dist/packages/server/src/app.js +24 -1
- package/dist/packages/server/src/app.js.map +1 -1
- package/dist/packages/server/src/builtin.d.ts +4 -0
- package/dist/packages/server/src/builtin.js +18 -0
- package/dist/packages/server/src/builtin.js.map +1 -1
- package/dist/packages/server/src/consent.d.ts +27 -0
- package/dist/packages/server/src/events/admin.d.ts +156 -0
- package/dist/packages/server/src/events/admin.js +255 -0
- package/dist/packages/server/src/events/admin.js.map +1 -0
- package/dist/packages/server/src/events/deliver.d.ts +43 -0
- package/dist/packages/server/src/events/deliver.js +129 -0
- package/dist/packages/server/src/events/deliver.js.map +1 -0
- package/dist/packages/server/src/events/runtime.d.ts +28 -0
- package/dist/packages/server/src/events/runtime.js +397 -0
- package/dist/packages/server/src/events/runtime.js.map +1 -0
- package/dist/packages/server/src/events/store.d.ts +172 -0
- package/dist/packages/server/src/events/store.js +275 -0
- package/dist/packages/server/src/events/store.js.map +1 -0
- package/dist/packages/server/src/index.d.ts +40 -0
- package/dist/packages/server/src/index.js +67 -11
- package/dist/packages/server/src/index.js.map +1 -1
- package/dist/packages/server/src/migrate.d.ts +11 -0
- package/dist/packages/server/src/openapi.d.ts +4 -0
- package/dist/packages/server/src/openapi.js +2 -2
- package/dist/packages/server/src/openapi.js.map +1 -1
- package/dist/packages/server/src/queue.d.ts +10 -0
- package/dist/packages/server/src/queue.js +45 -0
- package/dist/packages/server/src/queue.js.map +1 -0
- package/dist/packages/server/src/secrets.d.ts +19 -0
- package/dist/packages/server/src/server.d.ts +1 -0
- package/dist/packages/server/src/server.js +14 -1
- package/dist/packages/server/src/server.js.map +1 -1
- package/dist/packages/server/src/service.d.ts +760 -0
- package/dist/packages/server/src/service.js +10 -0
- package/dist/packages/server/src/service.js.map +1 -1
- package/dist/packages/server/src/store.d.ts +158 -0
- package/dist/packages/server/src/store.js +4 -0
- package/dist/packages/server/src/store.js.map +1 -1
- package/dist/packages/server/src/teams/activity.d.ts +123 -0
- package/dist/packages/server/src/teams/activity.js +6 -5
- package/dist/packages/server/src/teams/activity.js.map +1 -1
- package/dist/packages/server/src/teams/admin.d.ts +335 -0
- package/dist/packages/server/src/teams/admin.js +1 -1
- package/dist/packages/server/src/teams/admin.js.map +1 -1
- package/dist/packages/server/src/teams/approval.d.ts +57 -0
- package/dist/packages/server/src/teams/bot.d.ts +25 -0
- package/dist/packages/server/src/teams/claude.d.ts +46 -0
- package/dist/packages/server/src/teams/jwt.d.ts +17 -0
- package/dist/packages/server/src/teams/package.d.ts +79 -0
- package/dist/packages/server/src/teams/provision.d.ts +84 -0
- package/dist/packages/server/src/teams/runner.d.ts +80 -0
- package/dist/packages/server/src/teams/runner.js +50 -6
- package/dist/packages/server/src/teams/runner.js.map +1 -1
- package/dist/packages/server/src/teams/runtime.d.ts +91 -0
- package/dist/packages/server/src/teams/runtime.js +25 -47
- package/dist/packages/server/src/teams/runtime.js.map +1 -1
- package/dist/packages/server/src/teams/store.d.ts +233 -0
- package/package.json +28 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../connectors/workday/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type Fetch, type Vendor } from "../../packages/connector-kit/src/types.js";
|
|
2
|
+
export type ReportPrompt = {
|
|
3
|
+
name: string;
|
|
4
|
+
type: "date" | "text";
|
|
5
|
+
};
|
|
6
|
+
export type Report = {
|
|
7
|
+
name: string;
|
|
8
|
+
owner: string;
|
|
9
|
+
report: string;
|
|
10
|
+
prompts: ReportPrompt[];
|
|
11
|
+
};
|
|
12
|
+
export declare function parseEndpoint(raw: string): {
|
|
13
|
+
host: string;
|
|
14
|
+
tenant: string;
|
|
15
|
+
};
|
|
16
|
+
export declare function parseReports(raw: string, host: string, tenant: string): Report[];
|
|
17
|
+
export declare function connectedReports(config: Record<string, string>): Report[];
|
|
18
|
+
export declare function workdayVendor(fetchImpl?: Fetch): Vendor;
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { vendorError } from "../../packages/connector-kit/src/oauth.js";
|
|
3
|
+
import { ConnectError, TokenCache, } from "../../packages/connector-kit/src/types.js";
|
|
4
|
+
// A Workday API client for integrations, signing in as its Integration System User with a
|
|
5
|
+
// non-expiring refresh token (OAuth 2.0 refresh token grant at /ccx/oauth2/<tenant>/token, the
|
|
6
|
+
// client id and secret as HTTP Basic). REST calls under /ccx/api/<service>/<version>/<tenant>,
|
|
7
|
+
// custom reports (Reports-as-a-Service) under /ccx/service/customreport2/<tenant>. Service
|
|
8
|
+
// paths are Workday's REST directory (developer.workday.com, services_oas3.json, read October
|
|
9
|
+
// 27, 2026); its spec files need a Workday sign-in, so answer fields follow CData's Workday
|
|
10
|
+
// tables, which are generated from them.
|
|
11
|
+
const HOST = /^[a-z0-9-]+(\.[a-z0-9-]+)*\.(myworkday|workday)\.com$/;
|
|
12
|
+
const TENANT = /^[A-Za-z0-9_]{1,64}$/;
|
|
13
|
+
const REPORT_SEGMENT = /^[A-Za-z0-9_.\-]{1,200}$/;
|
|
14
|
+
const PROMPT = /^[A-Za-z0-9_!.\-]{1,100}$/;
|
|
15
|
+
const MAX_REPORTS = 30;
|
|
16
|
+
// Workday's token answer may carry no lifetime: reuse a token this long, re-mint once on a 401.
|
|
17
|
+
const DEFAULT_TOKEN_SECONDS = 600;
|
|
18
|
+
// The REST API endpoint shown on Workday's View API Clients page, e.g.
|
|
19
|
+
// https://wd5-services1.myworkday.com/ccx/api/v1/acme: host and tenant.
|
|
20
|
+
export function parseEndpoint(raw) {
|
|
21
|
+
let url;
|
|
22
|
+
try {
|
|
23
|
+
url = new URL(raw.trim());
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
throw new ConnectError("Enter the Workday REST API endpoint, such as https://wd5-services1.myworkday.com/ccx/api/v1/acme");
|
|
27
|
+
}
|
|
28
|
+
const host = url.hostname.toLowerCase();
|
|
29
|
+
if (url.protocol !== "https:" || url.port || !HOST.test(host))
|
|
30
|
+
throw new ConnectError(`${url.host} is not a Workday address (ending myworkday.com or workday.com)`);
|
|
31
|
+
const tenant = /^\/ccx\/api\/(?:[A-Za-z]+\/)?v\d+\/([^/]+)\/?$/.exec(url.pathname)?.[1];
|
|
32
|
+
if (!tenant || !TENANT.test(tenant))
|
|
33
|
+
throw new ConnectError("The endpoint should end with /ccx/api/v1/<tenant>, as shown on the View API Clients page");
|
|
34
|
+
return { host, tenant };
|
|
35
|
+
}
|
|
36
|
+
// Each report's JSON link from Workday (the report's Actions > Web Service > View URLs > JSON),
|
|
37
|
+
// separated by spaces or new lines. Its query names are the report's prompts; one whose example
|
|
38
|
+
// value is a date takes dates.
|
|
39
|
+
export function parseReports(raw, host, tenant) {
|
|
40
|
+
const links = raw.split(/\s+/).filter(Boolean);
|
|
41
|
+
if (links.length > MAX_REPORTS)
|
|
42
|
+
throw new ConnectError(`Enter at most ${MAX_REPORTS} reports`);
|
|
43
|
+
const reports = links.map((link) => {
|
|
44
|
+
let url;
|
|
45
|
+
try {
|
|
46
|
+
url = new URL(link);
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
throw new ConnectError(`${link.slice(0, 100)} is not a report link`);
|
|
50
|
+
}
|
|
51
|
+
const parts = url.pathname.split("/").map((p) => decodeURIComponent(p));
|
|
52
|
+
const [, ccx, service, kind, t, owner, report] = parts;
|
|
53
|
+
if (url.protocol !== "https:" ||
|
|
54
|
+
url.hostname.toLowerCase() !== host ||
|
|
55
|
+
ccx !== "ccx" ||
|
|
56
|
+
service !== "service" ||
|
|
57
|
+
kind !== "customreport2" ||
|
|
58
|
+
parts.length !== 7 ||
|
|
59
|
+
!REPORT_SEGMENT.test(owner ?? "") ||
|
|
60
|
+
!REPORT_SEGMENT.test(report ?? ""))
|
|
61
|
+
throw new ConnectError(`${link.slice(0, 100)} is not a custom report link on ${host} (…/ccx/service/customreport2/${tenant}/<owner>/<report>)`);
|
|
62
|
+
if (t !== tenant)
|
|
63
|
+
throw new ConnectError(`${report} belongs to tenant ${t}, not ${tenant}`);
|
|
64
|
+
const prompts = [];
|
|
65
|
+
for (const [name, value] of url.searchParams) {
|
|
66
|
+
if (name === "format")
|
|
67
|
+
continue;
|
|
68
|
+
if (!PROMPT.test(name))
|
|
69
|
+
throw new ConnectError(`${report}: ${name} is not a prompt name`);
|
|
70
|
+
prompts.push({ name, type: /^\d{4}-\d{2}-\d{2}/.test(value) ? "date" : "text" });
|
|
71
|
+
}
|
|
72
|
+
return { name: report, owner, report, prompts };
|
|
73
|
+
});
|
|
74
|
+
const names = reports.map((r) => r.name);
|
|
75
|
+
const twice = names.find((n, i) => names.indexOf(n) !== i);
|
|
76
|
+
if (twice)
|
|
77
|
+
throw new ConnectError(`${twice} is entered twice`);
|
|
78
|
+
return reports;
|
|
79
|
+
}
|
|
80
|
+
export function connectedReports(config) {
|
|
81
|
+
return config.reports ? JSON.parse(config.reports) : [];
|
|
82
|
+
}
|
|
83
|
+
export function workdayVendor(fetchImpl = fetch) {
|
|
84
|
+
const tokens = new TokenCache();
|
|
85
|
+
const key = (c) => createHash("sha256")
|
|
86
|
+
.update(`${c.config.host}\n${c.config.tenant}\n${c.secret.client_id}\n${c.secret.refresh_token}`)
|
|
87
|
+
.digest("hex");
|
|
88
|
+
async function mint(c) {
|
|
89
|
+
const { host, tenant } = c.config;
|
|
90
|
+
const res = await fetchImpl(`https://${host}/ccx/oauth2/${tenant}/token`, {
|
|
91
|
+
method: "POST",
|
|
92
|
+
headers: {
|
|
93
|
+
authorization: `Basic ${Buffer.from(`${c.secret.client_id}:${c.secret.client_secret}`).toString("base64")}`,
|
|
94
|
+
"content-type": "application/x-www-form-urlencoded",
|
|
95
|
+
accept: "application/json",
|
|
96
|
+
},
|
|
97
|
+
body: new URLSearchParams({
|
|
98
|
+
grant_type: "refresh_token",
|
|
99
|
+
refresh_token: c.secret.refresh_token,
|
|
100
|
+
}),
|
|
101
|
+
redirect: "manual",
|
|
102
|
+
});
|
|
103
|
+
const raw = await res.text();
|
|
104
|
+
const body = parse(raw);
|
|
105
|
+
if (!res.ok)
|
|
106
|
+
throw new ConnectError(`Workday refused the sign-in (${res.status}${vendorError(body) ? `: ${vendorError(body)}` : ""}). Check the client ID, secret and refresh token, and that the refresh token was made for this API client.`);
|
|
107
|
+
if (typeof body !== "object" || !body || typeof body.access_token !== "string")
|
|
108
|
+
throw new ConnectError("Workday answered the sign-in without a token");
|
|
109
|
+
const expiresIn = Number(body.expires_in);
|
|
110
|
+
return {
|
|
111
|
+
token: body.access_token,
|
|
112
|
+
expiresIn: Number.isFinite(expiresIn) && expiresIn > 60 ? expiresIn : DEFAULT_TOKEN_SECONDS,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
async function send(c, access, request) {
|
|
116
|
+
const res = await fetchImpl(`https://${c.config.host}${request.path}`, {
|
|
117
|
+
method: request.method,
|
|
118
|
+
headers: {
|
|
119
|
+
authorization: `Bearer ${access}`,
|
|
120
|
+
accept: "application/json",
|
|
121
|
+
...(request.body === undefined ? {} : { "content-type": "application/json" }),
|
|
122
|
+
},
|
|
123
|
+
body: request.body === undefined ? undefined : JSON.stringify(request.body),
|
|
124
|
+
redirect: "manual",
|
|
125
|
+
});
|
|
126
|
+
const raw = await res.text();
|
|
127
|
+
return { status: res.status, data: raw ? parse(raw) : null };
|
|
128
|
+
}
|
|
129
|
+
const call = async (c, request) => {
|
|
130
|
+
if (!HOST.test(c.config.host ?? "") || !TENANT.test(c.config.tenant ?? ""))
|
|
131
|
+
throw new Error("Workday connection has no host or tenant");
|
|
132
|
+
if (!request.path.startsWith("/ccx/"))
|
|
133
|
+
throw new Error(`Not a Workday path: ${request.path}`);
|
|
134
|
+
let res = await send(c, await tokens.get(key(c), () => mint(c)), request);
|
|
135
|
+
if (res.status === 401) {
|
|
136
|
+
tokens.forget(key(c));
|
|
137
|
+
res = await send(c, await tokens.get(key(c), () => mint(c)), request);
|
|
138
|
+
}
|
|
139
|
+
return res;
|
|
140
|
+
};
|
|
141
|
+
return {
|
|
142
|
+
async connect(fields) {
|
|
143
|
+
const { host, tenant } = parseEndpoint(fields.endpoint ?? "");
|
|
144
|
+
const clientId = fields.client_id?.trim();
|
|
145
|
+
const clientSecret = fields.client_secret?.trim();
|
|
146
|
+
const refreshToken = fields.refresh_token?.trim();
|
|
147
|
+
if (!clientId || !clientSecret || !refreshToken)
|
|
148
|
+
throw new ConnectError("Enter the client ID, client secret and refresh token");
|
|
149
|
+
const reports = parseReports(fields.reports ?? "", host, tenant);
|
|
150
|
+
const orgColumn = fields.report_org_column?.trim() ?? "";
|
|
151
|
+
if (orgColumn && !PROMPT.test(orgColumn))
|
|
152
|
+
throw new ConnectError(`${orgColumn} is not a report column name`);
|
|
153
|
+
const conn = {
|
|
154
|
+
config: {
|
|
155
|
+
host,
|
|
156
|
+
tenant,
|
|
157
|
+
account: `${host}/${tenant}`,
|
|
158
|
+
reports: JSON.stringify(reports),
|
|
159
|
+
...(orgColumn ? { reportOrgColumn: orgColumn } : {}),
|
|
160
|
+
},
|
|
161
|
+
secret: { client_id: clientId, client_secret: clientSecret, refresh_token: refreshToken },
|
|
162
|
+
};
|
|
163
|
+
tokens.forget(key(conn));
|
|
164
|
+
await tokens.get(key(conn), () => mint(conn));
|
|
165
|
+
return { ...conn, accountLabel: `${tenant} (${host})` };
|
|
166
|
+
},
|
|
167
|
+
call,
|
|
168
|
+
checks: {
|
|
169
|
+
// One worker read proves the account reaches staffing data; nothing of it is shown.
|
|
170
|
+
async tenant(connection) {
|
|
171
|
+
const res = await call(connection, {
|
|
172
|
+
method: "GET",
|
|
173
|
+
path: `/ccx/api/staffing/v7/${connection.config.tenant}/workers?limit=1`,
|
|
174
|
+
});
|
|
175
|
+
if (res.status === 401 || res.status === 403)
|
|
176
|
+
throw new ConnectError(`Workday refused to list workers (${res.status}). Give the account's security group View on Worker Data: Public Worker Reports, activate the pending security policy changes, then check again.`);
|
|
177
|
+
if (res.status < 200 || res.status >= 300)
|
|
178
|
+
throw new ConnectError(`Workday answered ${res.status}: ${vendorError(res.data) || "no reason given"}`);
|
|
179
|
+
return { values: [`${connection.config.tenant} (${connection.config.host})`] };
|
|
180
|
+
},
|
|
181
|
+
async reports(connection) {
|
|
182
|
+
return { values: connectedReports(connection.config).map((r) => r.name) };
|
|
183
|
+
},
|
|
184
|
+
},
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
function parse(raw) {
|
|
188
|
+
try {
|
|
189
|
+
return JSON.parse(raw);
|
|
190
|
+
}
|
|
191
|
+
catch {
|
|
192
|
+
return raw;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=vendor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vendor.js","sourceRoot":"","sources":["../../../connectors/workday/vendor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const brandingSchema: z.ZodObject<{
|
|
3
|
+
productName: z.ZodDefault<z.ZodString>;
|
|
4
|
+
logoUrl: z.ZodOptional<z.ZodURL>;
|
|
5
|
+
resourcePrefix: z.ZodDefault<z.ZodString>;
|
|
6
|
+
microsoft: z.ZodDefault<z.ZodObject<{
|
|
7
|
+
appName: z.ZodDefault<z.ZodString>;
|
|
8
|
+
mailboxGroup: z.ZodDefault<z.ZodString>;
|
|
9
|
+
mailboxGroupAlias: z.ZodDefault<z.ZodString>;
|
|
10
|
+
botRole: z.ZodDefault<z.ZodString>;
|
|
11
|
+
}, z.core.$strict>>;
|
|
12
|
+
teams: z.ZodDefault<z.ZodObject<{
|
|
13
|
+
resourceGroup: z.ZodDefault<z.ZodString>;
|
|
14
|
+
developer: z.ZodOptional<z.ZodObject<{
|
|
15
|
+
name: z.ZodString;
|
|
16
|
+
websiteUrl: z.ZodURL;
|
|
17
|
+
privacyUrl: z.ZodURL;
|
|
18
|
+
termsOfUseUrl: z.ZodURL;
|
|
19
|
+
}, z.core.$strict>>;
|
|
20
|
+
}, z.core.$strict>>;
|
|
21
|
+
}, z.core.$strict>;
|
|
22
|
+
export type Branding = z.infer<typeof brandingSchema>;
|
|
23
|
+
export type BrandingInput = z.input<typeof brandingSchema>;
|
|
24
|
+
export declare const DEFAULT_BRANDING: Branding;
|
|
25
|
+
export declare function parseBranding(raw: unknown): Branding;
|
|
26
|
+
export declare const brand: () => {
|
|
27
|
+
productName: string;
|
|
28
|
+
resourcePrefix: string;
|
|
29
|
+
microsoft: {
|
|
30
|
+
appName: string;
|
|
31
|
+
mailboxGroup: string;
|
|
32
|
+
mailboxGroupAlias: string;
|
|
33
|
+
botRole: string;
|
|
34
|
+
};
|
|
35
|
+
teams: {
|
|
36
|
+
resourceGroup: string;
|
|
37
|
+
developer?: {
|
|
38
|
+
name: string;
|
|
39
|
+
websiteUrl: string;
|
|
40
|
+
privacyUrl: string;
|
|
41
|
+
termsOfUseUrl: string;
|
|
42
|
+
} | undefined;
|
|
43
|
+
};
|
|
44
|
+
logoUrl?: string | undefined;
|
|
45
|
+
};
|
|
46
|
+
export declare function setBranding(b: Branding): void;
|
|
47
|
+
/** Fills `{brand.a.b}` placeholders; one naming no text field of the branding throws. */
|
|
48
|
+
export declare function fillBrand(text: string, b?: Branding): string;
|
|
49
|
+
/** fillBrand over every string in a parsed JSON value. */
|
|
50
|
+
export declare function fillBrandDeep<T>(value: T, b?: Branding): T;
|
|
51
|
+
/** The Teams manifest's developer, which a package needs. */
|
|
52
|
+
export declare function teamsDeveloper(b?: Branding): {
|
|
53
|
+
name: string;
|
|
54
|
+
websiteUrl: string;
|
|
55
|
+
privacyUrl: string;
|
|
56
|
+
termsOfUseUrl: string;
|
|
57
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type NewCertificate = {
|
|
2
|
+
certificate: string;
|
|
3
|
+
privateKey: string;
|
|
4
|
+
};
|
|
5
|
+
export declare function newCertificate(commonName: string, now?: Date): NewCertificate;
|
|
6
|
+
/** What the admin sees of a certificate: Entra lists it by its SHA-1 thumbprint. */
|
|
7
|
+
export declare function describeCertificate(pem: string): {
|
|
8
|
+
thumbprint: string;
|
|
9
|
+
expiresAt: string;
|
|
10
|
+
};
|
|
11
|
+
/** A signed client assertion (RFC 7523) for Microsoft's token endpoint, valid five minutes.
|
|
12
|
+
* Microsoft pairs the x5t#S256 header with PS256 (RSA-PSS). */
|
|
13
|
+
export declare function clientAssertion(input: {
|
|
14
|
+
clientId: string;
|
|
15
|
+
tokenUrl: string;
|
|
16
|
+
certificate: string;
|
|
17
|
+
privateKey: string;
|
|
18
|
+
now?: number;
|
|
19
|
+
}): string;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { CallToolResult, McpServer } from "@modelcontextprotocol/server";
|
|
2
|
+
import type { Limits } from "../../server/src/store.js";
|
|
3
|
+
import type { TeamsAccess } from "../../server/src/teams/runtime.js";
|
|
4
|
+
import type { VendorRequest, VendorResponse } from "./types.js";
|
|
5
|
+
export type ToolContext = {
|
|
6
|
+
limits: Limits;
|
|
7
|
+
/** The connection's settings, e.g. the sites it was connected with. */
|
|
8
|
+
config: Record<string, string>;
|
|
9
|
+
call(request: VendorRequest): Promise<VendorResponse>;
|
|
10
|
+
/** Per tool: what to add to a 403 from the app (its capability's `forbidden`). */
|
|
11
|
+
forbidden?: Record<string, string>;
|
|
12
|
+
/** Teams only: the agent's own bot. */
|
|
13
|
+
teams?: TeamsAccess;
|
|
14
|
+
audit(entry: {
|
|
15
|
+
tool: string;
|
|
16
|
+
target: string | null;
|
|
17
|
+
decision: "allowed" | "denied" | "failed";
|
|
18
|
+
reason: string | null;
|
|
19
|
+
vendorStatus: number | null;
|
|
20
|
+
}): Promise<void>;
|
|
21
|
+
};
|
|
22
|
+
export type Toolset = {
|
|
23
|
+
names: readonly string[];
|
|
24
|
+
register(server: McpServer, ctx: ToolContext, allowed: ReadonlySet<string>): void;
|
|
25
|
+
};
|
|
26
|
+
/** One app's tools from several sets, e.g. SharePoint's files and spreadsheets. */
|
|
27
|
+
export declare const toolsets: (...sets: Toolset[]) => Toolset;
|
|
28
|
+
export declare class Denied extends Error {
|
|
29
|
+
}
|
|
30
|
+
export declare class VendorFailed extends Error {
|
|
31
|
+
readonly status: number;
|
|
32
|
+
readonly hintTool?: string | undefined;
|
|
33
|
+
constructor(status: number, message: string, hintTool?: string | undefined);
|
|
34
|
+
}
|
|
35
|
+
export declare function listLimit(limits: Limits, id: string): string[] | null;
|
|
36
|
+
export declare function mapLimit(limits: Limits, id: string): Record<string, string> | null;
|
|
37
|
+
export declare function textLimit(limits: Limits, id: string): string | null;
|
|
38
|
+
export declare const argumentsTarget: (args: unknown) => string | null;
|
|
39
|
+
export declare const json: (data: unknown) => CallToolResult;
|
|
40
|
+
export declare function audited(ctx: ToolContext, tool: string, target: string | null, run: (vendorStatus: (status: number) => void, retarget: (sent: string) => void) => Promise<CallToolResult>): Promise<CallToolResult>;
|