onboardconnect-agent 1.3.0 → 1.4.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.
@@ -0,0 +1,369 @@
1
+ import { describe, it, expect, beforeAll, afterEach, afterAll } from "vitest";
2
+ import { createServer } from "http";
3
+ import { join } from "path";
4
+ import { tmpdir } from "os";
5
+ // Redirect the agent logger to a writable temp dir BEFORE importing workday.js
6
+ // (transitively constructs the winston file logger). Mirrors binary.test.ts.
7
+ process.env["OC_LOG_DIR"] = join(tmpdir(), "oc-agent-test-logs");
8
+ let ocWorkdayCall;
9
+ beforeAll(async () => {
10
+ ({ ocWorkdayCall } = await import("./workday.js"));
11
+ });
12
+ let openServers = [];
13
+ function ocStartServer(handler) {
14
+ const recorded = [];
15
+ return new Promise((resolve) => {
16
+ const server = createServer((req, res) => {
17
+ const chunks = [];
18
+ req.on("data", (c) => chunks.push(c));
19
+ req.on("end", () => {
20
+ const rec = {
21
+ method: req.method ?? "",
22
+ url: req.url ?? "",
23
+ headers: req.headers,
24
+ body: Buffer.concat(chunks).toString("utf8"),
25
+ };
26
+ recorded.push(rec);
27
+ handler(req, res, rec);
28
+ });
29
+ });
30
+ openServers.push(server);
31
+ server.listen(0, "127.0.0.1", () => {
32
+ const { port } = server.address();
33
+ resolve({ url: `http://127.0.0.1:${port}`, recorded });
34
+ });
35
+ });
36
+ }
37
+ // Await closes so no listener handle leaks (binary.test.ts teardown note).
38
+ async function ocCloseServers() {
39
+ await Promise.all(openServers.map((s) => new Promise((resolve) => s.close(() => resolve()))));
40
+ openServers = [];
41
+ }
42
+ afterEach(ocCloseServers);
43
+ afterAll(ocCloseServers);
44
+ const TENANT = "acme_impl";
45
+ const TOKEN_PATH = `/ccx/oauth2/${TENANT}/token`;
46
+ const CLIENT_BASIC = "Basic " + Buffer.from("cid:csecret").toString("base64");
47
+ let profileSeq = 0;
48
+ function ocWdProfile(baseUrl, over = {}) {
49
+ // Unique id per profile so the process-lifetime bearer cache never bleeds
50
+ // between tests (caching is only asserted where we deliberately reuse one id).
51
+ return {
52
+ id: `wd-${++profileSeq}`,
53
+ vendor: "workday",
54
+ baseUrl,
55
+ authType: "oauth_client_credentials",
56
+ clientId: "cid",
57
+ clientSecret: "csecret",
58
+ tenant: TENANT,
59
+ ...over,
60
+ };
61
+ }
62
+ function payload(over = {}) {
63
+ return {
64
+ profileId: "wd-x",
65
+ vendor: "workday",
66
+ operation: "test",
67
+ resource: "students",
68
+ ...over,
69
+ };
70
+ }
71
+ // Mock token endpoint responder. Returns the access token for a valid grant.
72
+ function tokenOk(res, token = "wd-access-token") {
73
+ res.writeHead(200, { "Content-Type": "application/json" });
74
+ res.end(JSON.stringify({ access_token: token, expires_in: 3600 }));
75
+ }
76
+ describe("ocWorkdayCall — test operation", () => {
77
+ it("obtains an OAuth client_credentials token then probes the workers endpoint", async () => {
78
+ const { url, recorded } = await ocStartServer((_req, res, rec) => {
79
+ if (rec.url === TOKEN_PATH && rec.method === "POST") {
80
+ tokenOk(res);
81
+ return;
82
+ }
83
+ if (rec.method === "GET" && rec.url.startsWith(`/ccx/api/v1/${TENANT}/workers`)) {
84
+ res.writeHead(200, { "Content-Type": "application/json" });
85
+ res.end(JSON.stringify({ data: [] }));
86
+ return;
87
+ }
88
+ res.writeHead(404);
89
+ res.end();
90
+ });
91
+ const profile = ocWdProfile(url);
92
+ const result = await ocWorkdayCall({ payload: payload({ profileId: profile.id }), profile });
93
+ expect(result.raw).toEqual({ ok: true, vendor: "workday", tenant: TENANT });
94
+ // Token call used client_credentials grant + Basic client auth.
95
+ const tok = recorded.find((r) => r.url === TOKEN_PATH);
96
+ expect(tok.method).toBe("POST");
97
+ expect(tok.headers["authorization"]).toBe(CLIENT_BASIC);
98
+ expect(tok.headers["content-type"]).toMatch(/application\/x-www-form-urlencoded/);
99
+ expect(tok.body).toContain("grant_type=client_credentials");
100
+ // Probe carried the Bearer token.
101
+ const probe = recorded.find((r) => r.url.startsWith(`/ccx/api/v1/${TENANT}/workers`));
102
+ expect(probe.headers["authorization"]).toBe("Bearer wd-access-token");
103
+ });
104
+ it("uses the refresh_token grant when authType is oauth_refresh_token", async () => {
105
+ const { url, recorded } = await ocStartServer((_req, res, rec) => {
106
+ if (rec.url === TOKEN_PATH) {
107
+ tokenOk(res);
108
+ return;
109
+ }
110
+ res.writeHead(200, { "Content-Type": "application/json" });
111
+ res.end(JSON.stringify({ data: [] }));
112
+ });
113
+ const profile = ocWdProfile(url, {
114
+ authType: "oauth_refresh_token",
115
+ refreshToken: "rt-abc",
116
+ });
117
+ await ocWorkdayCall({ payload: payload({ profileId: profile.id }), profile });
118
+ const tok = recorded.find((r) => r.url === TOKEN_PATH);
119
+ expect(tok.body).toContain("grant_type=refresh_token");
120
+ expect(tok.body).toContain("refresh_token=rt-abc");
121
+ });
122
+ it("caches the bearer — a second call reuses it (one token hit)", async () => {
123
+ const { url, recorded } = await ocStartServer((_req, res, rec) => {
124
+ if (rec.url === TOKEN_PATH) {
125
+ tokenOk(res);
126
+ return;
127
+ }
128
+ res.writeHead(200, { "Content-Type": "application/json" });
129
+ res.end(JSON.stringify({ data: [] }));
130
+ });
131
+ const profile = ocWdProfile(url);
132
+ await ocWorkdayCall({ payload: payload({ profileId: profile.id }), profile });
133
+ await ocWorkdayCall({ payload: payload({ profileId: profile.id }), profile });
134
+ const tokenHits = recorded.filter((r) => r.url === TOKEN_PATH);
135
+ expect(tokenHits).toHaveLength(1);
136
+ });
137
+ it("throws including the status when the token request fails", async () => {
138
+ const { url } = await ocStartServer((_req, res) => {
139
+ res.writeHead(401);
140
+ res.end("bad client");
141
+ });
142
+ const profile = ocWdProfile(url);
143
+ await expect(ocWorkdayCall({ payload: payload({ profileId: profile.id }), profile })).rejects.toThrow(/Workday auth failed \(401\)/);
144
+ });
145
+ it("throws when the token response omits access_token", async () => {
146
+ const { url } = await ocStartServer((_req, res, rec) => {
147
+ if (rec.url === TOKEN_PATH) {
148
+ res.writeHead(200, { "Content-Type": "application/json" });
149
+ res.end(JSON.stringify({ expires_in: 3600 }));
150
+ return;
151
+ }
152
+ res.writeHead(200);
153
+ res.end("{}");
154
+ });
155
+ const profile = ocWdProfile(url);
156
+ await expect(ocWorkdayCall({ payload: payload({ profileId: profile.id }), profile })).rejects.toThrow(/no access_token/i);
157
+ });
158
+ it("throws when the profile has no tenant", async () => {
159
+ const profile = ocWdProfile("http://127.0.0.1:1", { tenant: "" });
160
+ await expect(ocWorkdayCall({ payload: payload({ profileId: profile.id }), profile })).rejects.toThrow(/no tenant/i);
161
+ });
162
+ });
163
+ describe("ocWorkdayCall — REST upsert", () => {
164
+ it("POSTs to the collection when no match ref id is present (create)", async () => {
165
+ const { url, recorded } = await ocStartServer((_req, res, rec) => {
166
+ if (rec.url === TOKEN_PATH) {
167
+ tokenOk(res);
168
+ return;
169
+ }
170
+ if (rec.method === "POST") {
171
+ res.writeHead(201, { "Content-Type": "application/json" });
172
+ res.end(JSON.stringify({ id: "wd-id-1" }));
173
+ return;
174
+ }
175
+ res.writeHead(404);
176
+ res.end();
177
+ });
178
+ const profile = ocWdProfile(url);
179
+ const result = await ocWorkdayCall({
180
+ payload: payload({
181
+ profileId: profile.id,
182
+ operation: "upsert",
183
+ resource: "students",
184
+ record: { firstName: "Ann" },
185
+ }),
186
+ profile,
187
+ });
188
+ expect(result.sisId).toBe("wd-id-1");
189
+ // The token request is also a POST — match on the api path to find the write.
190
+ const post = recorded.find((r) => r.method === "POST" && r.url.startsWith("/ccx/api/"));
191
+ expect(post.url).toBe(`/ccx/api/students/${TENANT}?version=v1`);
192
+ expect(post.headers["authorization"]).toBe("Bearer wd-access-token");
193
+ expect(JSON.parse(post.body)).toEqual({ firstName: "Ann" });
194
+ });
195
+ it("PUTs to the keyed instance URL when a match ref id is present (update)", async () => {
196
+ const { url, recorded } = await ocStartServer((_req, res, rec) => {
197
+ if (rec.url === TOKEN_PATH) {
198
+ tokenOk(res);
199
+ return;
200
+ }
201
+ res.writeHead(200, { "Content-Type": "application/json" });
202
+ res.end("{}");
203
+ });
204
+ const profile = ocWdProfile(url);
205
+ const result = await ocWorkdayCall({
206
+ payload: payload({
207
+ profileId: profile.id,
208
+ operation: "upsert",
209
+ resource: "students",
210
+ record: { firstName: "Bo" },
211
+ match: { Student_ID: "S55" },
212
+ }),
213
+ profile,
214
+ });
215
+ const put = recorded.find((r) => r.method === "PUT");
216
+ // Ref id becomes a path segment before the ?version query.
217
+ expect(put.url).toBe(`/ccx/api/students/${TENANT}/S55?version=v1`);
218
+ // No echoed id → falls back to the supplied reference id.
219
+ expect(result.sisId).toBe("S55");
220
+ });
221
+ it("honours a custom version segment from the profile", async () => {
222
+ const { url, recorded } = await ocStartServer((_req, res, rec) => {
223
+ if (rec.url === TOKEN_PATH) {
224
+ tokenOk(res);
225
+ return;
226
+ }
227
+ res.writeHead(201, { "Content-Type": "application/json" });
228
+ res.end(JSON.stringify({ id: "x" }));
229
+ });
230
+ const profile = ocWdProfile(url, { version: "v40.0" });
231
+ await ocWorkdayCall({
232
+ payload: payload({
233
+ profileId: profile.id,
234
+ operation: "upsert",
235
+ resource: "students",
236
+ record: { a: "b" },
237
+ }),
238
+ profile,
239
+ });
240
+ const post = recorded.find((r) => r.method === "POST" && r.url.startsWith("/ccx/api/"));
241
+ expect(post.url).toBe(`/ccx/api/students/${TENANT}?version=v40.0`);
242
+ });
243
+ it("throws including the status when the REST write returns non-2xx", async () => {
244
+ const { url } = await ocStartServer((_req, res, rec) => {
245
+ if (rec.url === TOKEN_PATH) {
246
+ tokenOk(res);
247
+ return;
248
+ }
249
+ res.writeHead(500);
250
+ res.end("boom");
251
+ });
252
+ const profile = ocWdProfile(url);
253
+ await expect(ocWorkdayCall({
254
+ payload: payload({
255
+ profileId: profile.id,
256
+ operation: "upsert",
257
+ resource: "students",
258
+ record: { a: "b" },
259
+ }),
260
+ profile,
261
+ })).rejects.toThrow(/Workday POST students failed \(500\)/);
262
+ });
263
+ });
264
+ describe("ocWorkdayCall — SOAP upsert routing", () => {
265
+ it("POSTs a SOAP envelope to the service endpoint when record.__transport is soap", async () => {
266
+ const { url, recorded } = await ocStartServer((_req, res, rec) => {
267
+ if (rec.url === TOKEN_PATH) {
268
+ tokenOk(res);
269
+ return;
270
+ }
271
+ res.writeHead(200, { "Content-Type": "text/xml" });
272
+ res.end("<soapenv:Envelope><soapenv:Body><Put_Student_Response/></soapenv:Body></soapenv:Envelope>");
273
+ });
274
+ const profile = ocWdProfile(url);
275
+ const result = await ocWorkdayCall({
276
+ payload: payload({
277
+ profileId: profile.id,
278
+ operation: "upsert",
279
+ resource: "Put_Student",
280
+ record: { __transport: "soap", First_Name: "Ann" },
281
+ match: { Student_ID: "S900" },
282
+ }),
283
+ profile,
284
+ });
285
+ const soap = recorded.find((r) => r.method === "POST" && r.url.includes("/ccx/service/"));
286
+ expect(soap).toBeDefined();
287
+ expect(soap.url).toBe(`/ccx/service/${TENANT}/v1`);
288
+ expect(soap.headers["content-type"]).toMatch(/text\/xml/);
289
+ expect(soap.headers["soapaction"]).toBe("Put_Student");
290
+ expect(soap.headers["authorization"]).toBe("Bearer wd-access-token");
291
+ // Envelope carries the operation request, the typed Reference ID, and data
292
+ // fields — but NOT the __transport hint.
293
+ expect(soap.body).toContain("<wd:Put_Student_Request>");
294
+ expect(soap.body).toContain('<wd:ID wd:type="Student_ID">S900</wd:ID>');
295
+ expect(soap.body).toContain("<wd:First_Name>Ann</wd:First_Name>");
296
+ expect(soap.body).not.toContain("__transport");
297
+ // First match value surfaces as the sisId.
298
+ expect(result.sisId).toBe("S900");
299
+ });
300
+ it("throws when the SOAP response contains a Fault", async () => {
301
+ const { url } = await ocStartServer((_req, res, rec) => {
302
+ if (rec.url === TOKEN_PATH) {
303
+ tokenOk(res);
304
+ return;
305
+ }
306
+ res.writeHead(200, { "Content-Type": "text/xml" });
307
+ res.end("<soapenv:Envelope><soapenv:Body><soapenv:Fault><faultstring>no</faultstring></soapenv:Fault></soapenv:Body></soapenv:Envelope>");
308
+ });
309
+ const profile = ocWdProfile(url);
310
+ await expect(ocWorkdayCall({
311
+ payload: payload({
312
+ profileId: profile.id,
313
+ operation: "upsert",
314
+ resource: "Put_Student",
315
+ record: { __transport: "soap", First_Name: "X" },
316
+ }),
317
+ profile,
318
+ })).rejects.toThrow(/Workday SOAP Put_Student failed/);
319
+ });
320
+ });
321
+ describe("ocWorkdayCall — read", () => {
322
+ it("returns flattened rows from a { data: [...] } collection", async () => {
323
+ const { url, recorded } = await ocStartServer((_req, res, rec) => {
324
+ if (rec.url === TOKEN_PATH) {
325
+ tokenOk(res);
326
+ return;
327
+ }
328
+ res.writeHead(200, { "Content-Type": "application/json" });
329
+ res.end(JSON.stringify({
330
+ data: [
331
+ { id: "1", descriptor: { name: "Ann" }, active: true },
332
+ { id: "2", note: null },
333
+ ],
334
+ }));
335
+ });
336
+ const profile = ocWdProfile(url);
337
+ const result = await ocWorkdayCall({
338
+ payload: payload({
339
+ profileId: profile.id,
340
+ operation: "read",
341
+ resource: "students",
342
+ match: { Student_ID: "1" },
343
+ }),
344
+ profile,
345
+ });
346
+ expect(result.rows).toHaveLength(2);
347
+ expect(result.rows[0]).toEqual({ id: "1", descriptor: '{"name":"Ann"}', active: "true" });
348
+ expect(result.rows[1]).toEqual({ id: "2" });
349
+ // Match keys appended as query filters alongside the version param.
350
+ const get = recorded.find((r) => r.method === "GET");
351
+ expect(get.url).toBe(`/ccx/api/students/${TENANT}?version=v1&Student_ID=1`);
352
+ });
353
+ it("throws including the status when read returns non-2xx", async () => {
354
+ const { url } = await ocStartServer((_req, res, rec) => {
355
+ if (rec.url === TOKEN_PATH) {
356
+ tokenOk(res);
357
+ return;
358
+ }
359
+ res.writeHead(403);
360
+ res.end("forbidden");
361
+ });
362
+ const profile = ocWdProfile(url);
363
+ await expect(ocWorkdayCall({
364
+ payload: payload({ profileId: profile.id, operation: "read", resource: "students" }),
365
+ profile,
366
+ })).rejects.toThrow(/Workday read failed \(403\)/);
367
+ });
368
+ });
369
+ //# sourceMappingURL=workday.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workday.test.js","sourceRoot":"","sources":["../../src/sis/workday.test.ts"],"names":[],"mappings":"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"}
package/dist/sis.d.ts.map CHANGED
@@ -1 +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"}
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;AAgBD,wBAAsB,cAAc,CAClC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,eAAe,CAAC,CAwC1B"}
package/dist/sis.js CHANGED
@@ -1,6 +1,20 @@
1
1
  import { ocEthosCall } from "./sis/ethos.js";
2
2
  import { ocPeoplesoftCall } from "./sis/peoplesoft.js";
3
3
  import { ocWorkdayCall } from "./sis/workday.js";
4
+ /** Require https for SIS endpoints, allowing http only for loopback (dev/test). */
5
+ function ocAssertSafeSisUrl(value, label) {
6
+ let u;
7
+ try {
8
+ u = new URL(value ?? "");
9
+ }
10
+ catch {
11
+ throw new Error(`SIS profile ${label} is not a valid URL`);
12
+ }
13
+ const loopback = u.hostname === "localhost" || u.hostname === "127.0.0.1" || u.hostname === "::1";
14
+ if (u.protocol !== "https:" && !(u.protocol === "http:" && loopback)) {
15
+ throw new Error(`SIS profile ${label} must use https`);
16
+ }
17
+ }
4
18
  export async function executeSisCall(payload, store) {
5
19
  if (!payload || typeof payload !== "object") {
6
20
  throw new Error("Invalid SIS call payload");
@@ -15,6 +29,14 @@ export async function executeSisCall(payload, store) {
15
29
  if (profile.vendor !== payload.vendor) {
16
30
  throw new Error(`SIS profile "${payload.profileId}" is a ${profile.vendor} profile but the step requested ${payload.vendor}`);
17
31
  }
32
+ // Hardening: SIS profile URLs drive on-prem server-side HTTP carrying the
33
+ // profile's credentials. Require https except for loopback (dev/test), so a
34
+ // mistyped/malicious profile can't exfiltrate creds over plaintext or be used
35
+ // as an SSRF primitive against an internal plaintext endpoint.
36
+ ocAssertSafeSisUrl(profile.baseUrl, "baseUrl");
37
+ const tokenUrl = profile.tokenUrl;
38
+ if (tokenUrl)
39
+ ocAssertSafeSisUrl(tokenUrl, "tokenUrl");
18
40
  const ctx = { payload, profile };
19
41
  switch (payload.vendor) {
20
42
  case "ethos":
package/dist/sis.js.map CHANGED
@@ -1 +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"}
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,mFAAmF;AACnF,SAAS,kBAAkB,CAAC,KAAyB,EAAE,KAAa;IAClE,IAAI,CAAM,CAAC;IACX,IAAI,CAAC;QACH,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,qBAAqB,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,KAAK,WAAW,IAAI,CAAC,CAAC,QAAQ,KAAK,WAAW,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC;IAClG,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,iBAAiB,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,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,0EAA0E;IAC1E,4EAA4E;IAC5E,8EAA8E;IAC9E,+DAA+D;IAC/D,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAI,OAAiC,CAAC,QAAQ,CAAC;IAC7D,IAAI,QAAQ;QAAE,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEvD,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/store.js CHANGED
@@ -244,7 +244,10 @@ export class OcStore {
244
244
  }
245
245
  if (isAbsolute(filePath)) {
246
246
  const paths = await this.loadPaths();
247
- const baseDirs = Object.values(paths).filter(Boolean);
247
+ // Honor the read/write context when known: an absolute WRITE path must
248
+ // fall under the write base, not merely *some* configured base (and
249
+ // vice-versa). Falls back to the union only when kind is unspecified.
250
+ const baseDirs = (kind ? [paths[kind]] : Object.values(paths)).filter((b) => Boolean(b));
248
251
  const normalized = normalize(filePath);
249
252
  const permitted = baseDirs.some((base) => {
250
253
  const normBase = normalize(base);
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,6 +1,6 @@
1
1
  {
2
2
  "name": "onboardconnect-agent",
3
- "version": "1.3.0",
3
+ "version": "1.4.1",
4
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",