onboardconnect-agent 1.2.12 → 1.4.0

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.
@@ -0,0 +1,303 @@
1
+ import { OcLogger } from "../logger.js";
2
+ // ─── Workday Student (Track A — real implementation) ────────────────────────────
3
+ //
4
+ // SaaS, tenant-scoped host. The profile carries the tenant-scoped base URL
5
+ // (e.g. https://wd2-impl-services1.workday.com), the Workday tenant name, the
6
+ // registered API Client credentials, and the web-service / REST API version.
7
+ //
8
+ // Auth model: OAuth 2.0 against the tenant token endpoint
9
+ // (POST /ccx/oauth2/<tenant>/token). Two grants are supported:
10
+ // - client_credentials (authType "oauth_client_credentials")
11
+ // - refresh_token (authType "oauth_refresh_token", profile.refreshToken)
12
+ // The bearer token is cached per profile id until shortly before expiry, then
13
+ // re-fetched — mirroring the Ethos JWT cache.
14
+ //
15
+ // test → obtain a token + a cheap authenticated GET to validate creds.
16
+ // read → GET the REST resource, optionally filtered by `match`.
17
+ // upsert → person/student write. REST where the resource is exposed as REST
18
+ // (/ccx/api/.../<tenant>/...); for writes that require the SOAP Web
19
+ // Service (WWS), build a SOAP envelope and POST it to
20
+ // /ccx/service/<tenant>/... . Idempotency rides on Workday Reference
21
+ // IDs (Student_ID / Applicant_ID) carried in `payload.match`.
22
+ //
23
+ // Plan / runbook: docs/runbooks/sis-writeback.md (Workday section).
24
+ const ocLogger = new OcLogger("sis-workday");
25
+ // Refresh the bearer this many ms before its nominal expiry to avoid edge races.
26
+ const OC_WD_TOKEN_SKEW_MS = 60_000;
27
+ // Workday access tokens default to ~1h. Cache conservatively when the token
28
+ // response omits expires_in.
29
+ const OC_WD_DEFAULT_TTL_MS = 50 * 60_000;
30
+ // Per-profile token cache (process-lifetime). Keyed by profile id so multiple
31
+ // Workday profiles on one agent never share a bearer.
32
+ const ocWorkdayTokenCache = new Map();
33
+ function ocTrimSlash(url) {
34
+ return url.replace(/\/+$/, "");
35
+ }
36
+ async function ocSafeText(res) {
37
+ try {
38
+ return (await res.text()).slice(0, 500);
39
+ }
40
+ catch {
41
+ return "<no body>";
42
+ }
43
+ }
44
+ /** Tenant name from the profile — required for every endpoint path. */
45
+ function ocWorkdayTenant(ctx) {
46
+ const tenant = ctx.profile.tenant?.trim();
47
+ if (!tenant) {
48
+ throw new Error(`Workday profile "${ctx.profile.id}" has no tenant configured`);
49
+ }
50
+ return tenant;
51
+ }
52
+ /** Token endpoint: explicit profile.tokenUrl wins, else derived from base + tenant. */
53
+ function ocWorkdayTokenUrl(ctx, base, tenant) {
54
+ const explicit = ctx.profile.tokenUrl?.trim();
55
+ return explicit ? ocTrimSlash(explicit) : `${base}/ccx/oauth2/${tenant}/token`;
56
+ }
57
+ /** Obtain (and cache) an OAuth2 bearer token for the tenant. */
58
+ async function ocWorkdayGetToken(ctx) {
59
+ const { profile } = ctx;
60
+ if (!profile.clientId || !profile.clientSecret) {
61
+ throw new Error(`Workday profile "${profile.id}" is missing clientId/clientSecret`);
62
+ }
63
+ const cached = ocWorkdayTokenCache.get(profile.id);
64
+ if (cached && cached.expiresAt - OC_WD_TOKEN_SKEW_MS > Date.now()) {
65
+ return cached.accessToken;
66
+ }
67
+ const base = ocTrimSlash(profile.baseUrl);
68
+ const tenant = ocWorkdayTenant(ctx);
69
+ const tokenUrl = ocWorkdayTokenUrl(ctx, base, tenant);
70
+ // Workday registers the API Client with either grant. refresh_token is the
71
+ // common ISU pattern; client_credentials is used for service-to-service ISUs.
72
+ const form = new URLSearchParams();
73
+ if (profile.authType === "oauth_refresh_token") {
74
+ if (!profile.refreshToken) {
75
+ throw new Error(`Workday profile "${profile.id}" uses refresh_token grant but has no refreshToken`);
76
+ }
77
+ form.set("grant_type", "refresh_token");
78
+ form.set("refresh_token", profile.refreshToken);
79
+ }
80
+ else {
81
+ form.set("grant_type", "client_credentials");
82
+ }
83
+ // Client auth via HTTP Basic (client_id:client_secret) — Workday's documented
84
+ // form for the token endpoint.
85
+ const basic = Buffer.from(`${profile.clientId}:${profile.clientSecret}`).toString("base64");
86
+ const res = await fetch(tokenUrl, {
87
+ method: "POST",
88
+ headers: {
89
+ Authorization: `Basic ${basic}`,
90
+ "Content-Type": "application/x-www-form-urlencoded",
91
+ Accept: "application/json",
92
+ },
93
+ body: form.toString(),
94
+ });
95
+ if (!res.ok) {
96
+ throw new Error(`Workday auth failed (${res.status}): ${await ocSafeText(res)}`);
97
+ }
98
+ const body = (await res.json().catch(() => ({})));
99
+ if (!body.access_token) {
100
+ throw new Error("Workday auth returned no access_token");
101
+ }
102
+ const ttl = typeof body.expires_in === "number" ? body.expires_in * 1000 : OC_WD_DEFAULT_TTL_MS;
103
+ ocWorkdayTokenCache.set(profile.id, {
104
+ accessToken: body.access_token,
105
+ expiresAt: Date.now() + ttl,
106
+ });
107
+ return body.access_token;
108
+ }
109
+ function ocWorkdayJsonHeaders(token) {
110
+ return {
111
+ Authorization: `Bearer ${token}`,
112
+ Accept: "application/json",
113
+ "Content-Type": "application/json",
114
+ };
115
+ }
116
+ /** REST API version segment, defaulting to "v1" when the profile omits it. */
117
+ function ocWorkdayVersion(ctx) {
118
+ return ctx.profile.version?.trim() || "v1";
119
+ }
120
+ /**
121
+ * Build the REST URL for a resource. The profile's `resource` is the API
122
+ * service + path tail (e.g. "studentRecords/v1/<tenant>/students" is too brittle
123
+ * to hardcode, so we accept either a fully-formed tail or a bare resource and
124
+ * assemble /ccx/api/<resource-or-version>/<tenant>/...). Campus-specific service
125
+ * names are driven entirely from payload.resource rather than hardcoded here.
126
+ */
127
+ function ocWorkdayRestUrl(ctx, base, tenant) {
128
+ const version = ocWorkdayVersion(ctx);
129
+ // A resource that already contains a slash is treated as a full service path
130
+ // tail "<service>/<version?>/<path>"; otherwise we frame it as
131
+ // "<resource>/<version>". Either way the tenant is injected before the path.
132
+ const resource = ctx.payload.resource.replace(/^\/+/, "");
133
+ return `${base}/ccx/api/${resource}/${tenant}`.replace(/\/+$/, "") + `?version=${encodeURIComponent(version)}`;
134
+ }
135
+ /** Coerce a vendor JSON object into a flat string row for the cloud. */
136
+ function ocFlattenRow(obj) {
137
+ const row = {};
138
+ for (const [k, v] of Object.entries(obj ?? {})) {
139
+ if (v == null)
140
+ continue;
141
+ row[k] = typeof v === "object" ? JSON.stringify(v) : String(v);
142
+ }
143
+ return row;
144
+ }
145
+ /** XML-escape a value for inclusion in a SOAP envelope. */
146
+ function ocXmlEscape(value) {
147
+ return value
148
+ .replace(/&/g, "&amp;")
149
+ .replace(/</g, "&lt;")
150
+ .replace(/>/g, "&gt;")
151
+ .replace(/"/g, "&quot;")
152
+ .replace(/'/g, "&apos;");
153
+ }
154
+ /**
155
+ * Does this upsert require the SOAP Web Service (WWS) rather than REST?
156
+ * Driven by the profile authType ("soap") or an explicit hint on the record
157
+ * (record.__transport === "soap") so a single profile can mix REST reads with a
158
+ * SOAP student write without code changes.
159
+ */
160
+ function ocWorkdayWantsSoap(ctx) {
161
+ if (ctx.profile.authType === "soap")
162
+ return true;
163
+ const record = ctx.payload.record ?? {};
164
+ return record["__transport"] === "soap";
165
+ }
166
+ /**
167
+ * SOAP WWS upsert. Builds a generic Workday-style envelope: the operation name
168
+ * comes from payload.resource (e.g. "Put_Student"), the OAuth bearer is carried
169
+ * in the HTTP Authorization header, the Reference ID(s) from payload.match seed
170
+ * idempotency, and the mapped record fields become child elements. Exact field
171
+ * element names are campus/service specific, so they are emitted verbatim from
172
+ * payload.record rather than hardcoded.
173
+ */
174
+ async function ocWorkdaySoapUpsert(ctx, base, tenant, token) {
175
+ const operation = ctx.payload.resource.replace(/[^A-Za-z0-9_]/g, "");
176
+ if (!operation) {
177
+ throw new Error("Workday SOAP upsert requires payload.resource to name the WWS operation");
178
+ }
179
+ const match = ctx.payload.match ?? {};
180
+ const record = (ctx.payload.record ?? {});
181
+ // Reference IDs (Student_ID / Applicant_ID etc.) carry idempotency. Each match
182
+ // key becomes a typed Workday Reference ID element.
183
+ const referenceIds = Object.entries(match)
184
+ .map(([type, value]) => `<wd:ID wd:type="${ocXmlEscape(type)}">${ocXmlEscape(String(value))}</wd:ID>`)
185
+ .join("");
186
+ // Mapped record fields → child elements (names emitted verbatim; values escaped).
187
+ const dataFields = Object.entries(record)
188
+ .filter(([k]) => k !== "__transport")
189
+ .map(([k, v]) => {
190
+ const tag = ocXmlEscape(k);
191
+ return `<wd:${tag}>${ocXmlEscape(typeof v === "object" ? JSON.stringify(v) : String(v))}</wd:${tag}>`;
192
+ })
193
+ .join("");
194
+ const envelope = `<?xml version="1.0" encoding="UTF-8"?>` +
195
+ `<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wd="urn:com.workday/bsvc">` +
196
+ `<soapenv:Body>` +
197
+ `<wd:${operation}_Request>` +
198
+ (referenceIds ? `<wd:Reference>${referenceIds}</wd:Reference>` : "") +
199
+ `<wd:Data>${dataFields}</wd:Data>` +
200
+ `</wd:${operation}_Request>` +
201
+ `</soapenv:Body>` +
202
+ `</soapenv:Envelope>`;
203
+ const url = `${base}/ccx/service/${tenant}/${ocWorkdayVersion(ctx)}`;
204
+ const res = await fetch(url, {
205
+ method: "POST",
206
+ headers: {
207
+ Authorization: `Bearer ${token}`,
208
+ "Content-Type": "text/xml; charset=utf-8",
209
+ SOAPAction: operation,
210
+ },
211
+ body: envelope,
212
+ });
213
+ const text = await res.text();
214
+ if (!res.ok || /<(soapenv:)?Fault>/i.test(text)) {
215
+ throw new Error(`Workday SOAP ${operation} failed (${res.status}): ${text.slice(0, 500)}`);
216
+ }
217
+ // Surface the first match value (the Workday Reference ID) as the sisId — it is
218
+ // the stable, caller-supplied handle for the upserted record.
219
+ const sisId = Object.values(match)[0];
220
+ ocLogger.info("workday soap upsert", { operation, sisId });
221
+ return { ...(sisId ? { sisId: String(sisId) } : {}), raw: text };
222
+ }
223
+ export async function ocWorkdayCall(ctx) {
224
+ const { payload, profile } = ctx;
225
+ const base = ocTrimSlash(profile.baseUrl);
226
+ const tenant = ocWorkdayTenant(ctx);
227
+ const token = await ocWorkdayGetToken(ctx);
228
+ if (payload.operation === "test") {
229
+ // Token already exercised the client creds. Add a cheap authenticated GET so
230
+ // a misconfigured base URL / tenant is caught too. The Workday common API
231
+ // "workers" endpoint is a safe, universally-present probe.
232
+ const probe = `${base}/ccx/api/v1/${tenant}/workers?limit=1`;
233
+ const res = await fetch(probe, { headers: ocWorkdayJsonHeaders(token) });
234
+ if (!res.ok) {
235
+ throw new Error(`Workday test probe failed (${res.status}): ${await ocSafeText(res)}`);
236
+ }
237
+ return { raw: { ok: true, vendor: "workday", tenant } };
238
+ }
239
+ if (payload.operation === "read") {
240
+ const match = payload.match ?? {};
241
+ const url = ocWorkdayRestUrl(ctx, base, tenant);
242
+ // Append match keys as query filters (Workday REST collections accept field
243
+ // filters; exact param names are service-specific so we pass them through).
244
+ const params = new URLSearchParams();
245
+ for (const [k, v] of Object.entries(match))
246
+ params.set(k, v);
247
+ const sep = url.includes("?") ? "&" : "?";
248
+ const finalUrl = params.toString() ? `${url}${sep}${params.toString()}` : url;
249
+ const res = await fetch(finalUrl, { headers: ocWorkdayJsonHeaders(token) });
250
+ if (!res.ok) {
251
+ throw new Error(`Workday read failed (${res.status}): ${await ocSafeText(res)}`);
252
+ }
253
+ const body = (await res.json());
254
+ // Workday REST collections wrap rows in { data: [...] }; tolerate a bare array
255
+ // or a single object too.
256
+ const arr = Array.isArray(body)
257
+ ? body
258
+ : Array.isArray(body?.data)
259
+ ? body.data
260
+ : [body];
261
+ const rows = arr.map((r) => ocFlattenRow(r));
262
+ ocLogger.info("workday read", { resource: payload.resource, rows: rows.length });
263
+ return { rows, raw: body };
264
+ }
265
+ if (payload.operation === "upsert") {
266
+ if (ocWorkdayWantsSoap(ctx)) {
267
+ return ocWorkdaySoapUpsert(ctx, base, tenant, token);
268
+ }
269
+ // REST upsert. Idempotency rides on the Workday Reference ID in `match`: when
270
+ // present we target the instance directly with a PUT; otherwise POST to the
271
+ // collection to create. The first match value is the instance reference id.
272
+ const record = payload.record ?? {};
273
+ const match = payload.match ?? {};
274
+ const refId = Object.values(match)[0];
275
+ const collectionUrl = ocWorkdayRestUrl(ctx, base, tenant);
276
+ let url;
277
+ let method;
278
+ if (refId) {
279
+ // Insert the reference id as a path segment before the ?version query.
280
+ const [path, query] = collectionUrl.split("?");
281
+ url = `${path}/${encodeURIComponent(String(refId))}${query ? `?${query}` : ""}`;
282
+ method = "PUT";
283
+ }
284
+ else {
285
+ url = collectionUrl;
286
+ method = "POST";
287
+ }
288
+ const res = await fetch(url, {
289
+ method,
290
+ headers: ocWorkdayJsonHeaders(token),
291
+ body: JSON.stringify(record),
292
+ });
293
+ if (!res.ok) {
294
+ throw new Error(`Workday ${method} ${payload.resource} failed (${res.status}): ${await ocSafeText(res)}`);
295
+ }
296
+ const respBody = (await res.json().catch(() => ({})));
297
+ const sisId = respBody.id ?? (refId != null ? String(refId) : undefined);
298
+ ocLogger.info("workday upsert", { resource: payload.resource, method, sisId });
299
+ return { ...(sisId ? { sisId } : {}), raw: respBody };
300
+ }
301
+ throw new Error(`Unsupported Workday operation: ${String(payload.operation)}`);
302
+ }
303
+ //# sourceMappingURL=workday.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workday.js","sourceRoot":"","sources":["../../src/sis/workday.ts"],"names":[],"mappings":"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"}
package/dist/sis.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import type { OcSisCallPayload, OcSisCallResult } from "@oc/types";
2
+ import type { OcStore, OcSisProfile } from "./store.js";
3
+ /** A resolved vendor call: the validated payload + the profile's credentials. */
4
+ export interface OcSisVendorContext {
5
+ payload: OcSisCallPayload;
6
+ profile: OcSisProfile;
7
+ }
8
+ export declare function executeSisCall(payload: OcSisCallPayload, store: OcStore): Promise<OcSisCallResult>;
9
+ //# sourceMappingURL=sis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sis.d.ts","sourceRoot":"","sources":["../src/sis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAcxD,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,eAAe,CAAC,CAgC1B"}
package/dist/sis.js ADDED
@@ -0,0 +1,30 @@
1
+ import { ocEthosCall } from "./sis/ethos.js";
2
+ import { ocPeoplesoftCall } from "./sis/peoplesoft.js";
3
+ import { ocWorkdayCall } from "./sis/workday.js";
4
+ export async function executeSisCall(payload, store) {
5
+ if (!payload || typeof payload !== "object") {
6
+ throw new Error("Invalid SIS call payload");
7
+ }
8
+ if (!payload.profileId) {
9
+ throw new Error("SIS call is missing profileId");
10
+ }
11
+ const profile = await store.loadSisCredentials(payload.profileId);
12
+ if (!profile) {
13
+ throw new Error(`SIS profile "${payload.profileId}" is not configured on this agent — add it under Settings → SIS Profiles`);
14
+ }
15
+ if (profile.vendor !== payload.vendor) {
16
+ throw new Error(`SIS profile "${payload.profileId}" is a ${profile.vendor} profile but the step requested ${payload.vendor}`);
17
+ }
18
+ const ctx = { payload, profile };
19
+ switch (payload.vendor) {
20
+ case "ethos":
21
+ return ocEthosCall(ctx);
22
+ case "peoplesoft":
23
+ return ocPeoplesoftCall(ctx);
24
+ case "workday":
25
+ return ocWorkdayCall(ctx);
26
+ default:
27
+ throw new Error(`Unsupported SIS vendor: ${String(payload.vendor)}`);
28
+ }
29
+ }
30
+ //# sourceMappingURL=sis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sis.js","sourceRoot":"","sources":["../src/sis.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAiBjD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAyB,EACzB,KAAc;IAEd,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,SAAS,0EAA0E,CAC5G,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,SAAS,UAAU,OAAO,CAAC,MAAM,mCAAmC,OAAO,CAAC,MAAM,EAAE,CAC7G,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAuB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAErD,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,OAAO;YACV,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,KAAK,YAAY;YACf,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/B,KAAK,SAAS;YACZ,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5B;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAE,OAAgC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;AACH,CAAC"}
package/dist/store.d.ts CHANGED
@@ -14,12 +14,55 @@ export interface OcLdapCredentials {
14
14
  bindPassword: string;
15
15
  authMode?: "explicit" | "service_account";
16
16
  }
17
+ export type OcSisProfileVendor = "ethos" | "peoplesoft" | "workday";
18
+ export type OcSisAuthType = "api_key" | "basic" | "oauth_client_credentials" | "oauth_refresh_token" | "bearer" | "soap";
19
+ export interface OcSisProfile {
20
+ /** Stable id referenced by the cloud `sis` connection config. */
21
+ id: string;
22
+ /** Human label shown in the agent UI. */
23
+ label?: string;
24
+ vendor: OcSisProfileVendor;
25
+ /** API base URL, e.g. https://integrate.elluciancloud.com (Ethos). */
26
+ baseUrl: string;
27
+ authType: OcSisAuthType;
28
+ /** Ethos API key (exchanged for a short-lived JWT at call time). */
29
+ apiKey?: string;
30
+ /** Basic-auth username (PeopleSoft IB / REST). */
31
+ username?: string;
32
+ /** Basic-auth password. */
33
+ password?: string;
34
+ /** OAuth2 client-credentials id (Workday / OAuth vendors). */
35
+ clientId?: string;
36
+ /** OAuth2 client-credentials secret. */
37
+ clientSecret?: string;
38
+ /** OAuth2 token endpoint (Workday tenant token URL). When absent the Workday
39
+ * module derives it from baseUrl + tenant: /ccx/oauth2/<tenant>/token. */
40
+ tokenUrl?: string;
41
+ /** Vendor tenant name (Workday); also the PeopleSoft IB node name. */
42
+ tenant?: string;
43
+ /** Workday refresh token (used when authType === "oauth_refresh_token"). */
44
+ refreshToken?: string;
45
+ /** Workday web-service / REST API version, e.g. "v1" or "v40.0". Drives the
46
+ * versioned segment of the REST and SOAP endpoints. */
47
+ version?: string;
48
+ /** PeopleSoft Integration Broker node in the listening-connector path, e.g.
49
+ * the <node> in /PSIGW/RESTListeningConnector/<node>/. Defaults to `tenant`
50
+ * when not set so existing single-field profiles keep working. */
51
+ node?: string;
52
+ /** Pre-issued bearer/OAuth token for vendors that carry one directly on the
53
+ * profile (PeopleSoft IB bearer auth). */
54
+ bearerToken?: string;
55
+ }
17
56
  export declare function ocMergePaths(existing: Record<string, string>, incoming: Record<string, string>): Record<string, string>;
18
57
  export declare class OcStore {
19
58
  loadCredentials(): Promise<OcAgentCredentials | null>;
20
59
  saveCredentials(creds: OcAgentCredentials): Promise<void>;
21
60
  loadLdapCredentials(): Promise<OcLdapCredentials | null>;
22
61
  saveLdapCredentials(creds: OcLdapCredentials): Promise<void>;
62
+ loadSisProfiles(): Promise<OcSisProfile[]>;
63
+ saveSisProfiles(profiles: OcSisProfile[]): Promise<void>;
64
+ /** Resolve a single SIS profile (with credentials) by its id. */
65
+ loadSisCredentials(profileId: string): Promise<OcSisProfile | null>;
23
66
  loadPaths(): Promise<Record<string, string>>;
24
67
  savePaths(paths: Record<string, string>): Promise<void>;
25
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAiCA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IAIjB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,UAAU,GAAG,iBAAiB,CAAC;CAC3C;AAoHD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB;AAED,qBAAa,OAAO;IACZ,eAAe,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAMrD,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,mBAAmB,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAMxD,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5D,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAY5C,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7D;;;;;;;;;;OAUG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAoEvE,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIrC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,uBAAuB,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAInD,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,2FAA2F;IAC3F,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,wFAAwF;IACxF,IAAI,OAAO,IAAI,MAAM,CAEpB;CACF"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/store.js CHANGED
@@ -147,6 +147,28 @@ export class OcStore {
147
147
  config.ldap = ocEncrypt(creds, key);
148
148
  ocSaveConfig(config);
149
149
  }
150
+ // ── SIS profiles (Track A) ──────────────────────────────────────────────
151
+ // Stored as a single encrypted blob (an array of OcSisProfile). Mirrors the
152
+ // LDAP credential pattern: AES-256-GCM via ocEncrypt/ocDecrypt, and a safe
153
+ // decrypt that reports "not configured" rather than taking the service down.
154
+ async loadSisProfiles() {
155
+ const config = ocLoadConfig();
156
+ if (!config.sisProfiles)
157
+ return [];
158
+ const decrypted = ocSafeDecrypt(config.sisProfiles, "SIS profiles");
159
+ return Array.isArray(decrypted) ? decrypted : [];
160
+ }
161
+ async saveSisProfiles(profiles) {
162
+ const key = ocEnsureKey();
163
+ const config = ocLoadConfig();
164
+ config.sisProfiles = ocEncrypt(profiles, key);
165
+ ocSaveConfig(config);
166
+ }
167
+ /** Resolve a single SIS profile (with credentials) by its id. */
168
+ async loadSisCredentials(profileId) {
169
+ const profiles = await this.loadSisProfiles();
170
+ return profiles.find((p) => p.id === profileId) ?? null;
171
+ }
150
172
  async loadPaths() {
151
173
  const config = ocLoadConfig();
152
174
  if (config.pathsEnc) {
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,17 @@
1
1
  {
2
2
  "name": "onboardconnect-agent",
3
- "version": "1.2.12",
4
- "description": "OnboardConnect On-Prem Agent — LDAP provisioning bridge for on-premises Active Directory",
3
+ "version": "1.4.0",
4
+ "description": "OnboardConnect On-Prem Agent — on-premises Active Directory (LDAP) provisioning bridge and SIS writeback runtime (Ellucian Ethos, Oracle PeopleSoft, Workday)",
5
5
  "keywords": [
6
6
  "onboardconnect",
7
7
  "active-directory",
8
8
  "ldap",
9
9
  "provisioning",
10
- "slate-crm"
10
+ "slate-crm",
11
+ "sis",
12
+ "ellucian",
13
+ "peoplesoft",
14
+ "workday"
11
15
  ],
12
16
  "homepage": "https://onboardconnectapp.com/docs/agent",
13
17
  "license": "UNLICENSED",