@arbium/enterprise-agent-connect 0.2.0 → 0.2.1-dev.fd7a648
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 +6 -1
- package/dist/connectors/http/openapi.d.ts +62 -0
- package/dist/connectors/http/openapi.js +342 -0
- package/dist/connectors/http/openapi.js.map +1 -0
- package/dist/packages/server/migrations/0008_internal_apps.sql +16 -0
- package/dist/packages/server/migrations/rollback/to-legacy.sql +2 -0
- package/dist/packages/server/src/api.d.ts +2717 -569
- package/dist/packages/server/src/api.js +82 -1
- package/dist/packages/server/src/api.js.map +1 -1
- package/dist/packages/server/src/app.js +26 -1
- package/dist/packages/server/src/app.js.map +1 -1
- package/dist/packages/server/src/index.js +27 -18
- package/dist/packages/server/src/index.js.map +1 -1
- package/dist/packages/server/src/service.d.ts +1092 -0
- package/dist/packages/server/src/service.js +257 -19
- package/dist/packages/server/src/service.js.map +1 -1
- package/dist/packages/server/src/store.d.ts +41 -1
- package/dist/packages/server/src/store.js +79 -0
- package/dist/packages/server/src/store.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { brand } from "../../connector-kit/src/branding.js";
|
|
2
2
|
import { describeCertificate, newCertificate } from "../../connector-kit/src/certificate.js";
|
|
3
3
|
import { signInNonce, signState, verifyState } from "./consent.js";
|
|
4
|
-
import { effectiveCapabilities, pickDisplay, pickLabels, providerSettings, tokenRolesFor, } from "../../connector-kit/src/connector.js";
|
|
4
|
+
import { effectiveCapabilities, parseConnector, pickDisplay, pickLabels, providerSettings, tokenRolesFor, } from "../../connector-kit/src/connector.js";
|
|
5
5
|
import { credentialAad, hashAgentKey, looksLikeAgentKey } from "./secrets.js";
|
|
6
6
|
import { ProviderChanged } from "./store.js";
|
|
7
7
|
import { configSites } from "../../../connectors/sharepoint-files/vendor.js";
|
|
@@ -211,12 +211,142 @@ export function createService(deps) {
|
|
|
211
211
|
if (s.confirm)
|
|
212
212
|
confirmable.set(s.confirm, provider.id);
|
|
213
213
|
const sharedClientId = (id) => providers.get(id)?.client.approval?.clientId ?? null;
|
|
214
|
-
|
|
214
|
+
// A loaded app (built in or from a folder), the same for every organization.
|
|
215
|
+
function loaded(connectorId) {
|
|
215
216
|
const found = apps.get(connectorId);
|
|
216
217
|
if (!found)
|
|
217
218
|
throw new InvalidInput(`Unknown app ${connectorId}`);
|
|
218
219
|
return found;
|
|
219
220
|
}
|
|
221
|
+
// The one lookup of an app for an organization: a loaded app, else one of its own. A loaded
|
|
222
|
+
// app whose id one of the organization's own already has is neither: the connection kept
|
|
223
|
+
// under that id holds a credential entered for the organization's app, never to be sent to
|
|
224
|
+
// the deployment's.
|
|
225
|
+
async function app(org, connectorId) {
|
|
226
|
+
const found = apps.get(connectorId);
|
|
227
|
+
const row = await store.getInternalApp(org, connectorId);
|
|
228
|
+
if (found && row)
|
|
229
|
+
throw new InvalidInput(shadowed(connectorId));
|
|
230
|
+
if (found)
|
|
231
|
+
return found;
|
|
232
|
+
if (!row)
|
|
233
|
+
throw new InvalidInput(`Unknown app ${connectorId}`);
|
|
234
|
+
return internal(row);
|
|
235
|
+
}
|
|
236
|
+
// Every app the organization has: the loaded ones and its own. One of its own that no longer
|
|
237
|
+
// loads (the deployment now has its id, or a newer release reads it differently) is left out
|
|
238
|
+
// and logged, rather than cutting off the organization's other apps; GET internal-apps names
|
|
239
|
+
// the problem.
|
|
240
|
+
async function orgApps(org) {
|
|
241
|
+
const all = new Map(apps);
|
|
242
|
+
for (const row of await store.listInternalApps(org)) {
|
|
243
|
+
if (apps.has(row.id)) {
|
|
244
|
+
all.delete(row.id);
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
try {
|
|
248
|
+
all.set(row.id, internal(row));
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
if (!(error instanceof InvalidInput))
|
|
252
|
+
throw error;
|
|
253
|
+
console.error(`[agent-connect] internal app ${row.id} of ${org}: ${error.message}`);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return all;
|
|
257
|
+
}
|
|
258
|
+
const reserved = new Set([...(deps.reservedIds ?? []), ...apps.keys(), "agents"]);
|
|
259
|
+
const loadedTools = new Set(deps.apps.flatMap((a) => a.toolset.names));
|
|
260
|
+
// Built internal apps by organization and id, kept while their definition is unchanged.
|
|
261
|
+
const built = new Map();
|
|
262
|
+
function internal(row) {
|
|
263
|
+
if (apps.has(row.id))
|
|
264
|
+
throw new InvalidInput(shadowed(row.id));
|
|
265
|
+
const json = JSON.stringify(row.definition);
|
|
266
|
+
const cacheKey = `${row.organizationId}/${row.id}`;
|
|
267
|
+
const hit = built.get(cacheKey);
|
|
268
|
+
if (hit?.json === json)
|
|
269
|
+
return hit.app;
|
|
270
|
+
const made = defined(row.definition, row.id);
|
|
271
|
+
// A tool the deployment added later would sit twice in an agent's list.
|
|
272
|
+
const clash = made.toolset.names.filter((t) => loadedTools.has(t));
|
|
273
|
+
if (clash.length)
|
|
274
|
+
throw new InvalidInput(`This deployment now has its own tool named ${clash.join(", ")}, so this app is not used. Rename its tools and save it again.`);
|
|
275
|
+
built.set(cacheKey, { json, app: made });
|
|
276
|
+
return made;
|
|
277
|
+
}
|
|
278
|
+
function withProblem(row) {
|
|
279
|
+
try {
|
|
280
|
+
internal(row);
|
|
281
|
+
return { ...row, problem: null };
|
|
282
|
+
}
|
|
283
|
+
catch (error) {
|
|
284
|
+
if (!(error instanceof InvalidInput))
|
|
285
|
+
throw error;
|
|
286
|
+
return { ...row, problem: error.message };
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
// A definition parsed exactly as a connector.json file is, then built; every problem in
|
|
290
|
+
// plain words.
|
|
291
|
+
function defined(raw, id) {
|
|
292
|
+
if (!deps.internalApp)
|
|
293
|
+
throw new InvalidInput("This deployment does not take internal apps");
|
|
294
|
+
let connector;
|
|
295
|
+
try {
|
|
296
|
+
connector = parseConnector(raw, "definition");
|
|
297
|
+
}
|
|
298
|
+
catch (error) {
|
|
299
|
+
throw new InvalidInput(plainParseError(error.message));
|
|
300
|
+
}
|
|
301
|
+
if (connector.id !== id)
|
|
302
|
+
throw new InvalidInput(`The definition's id is ${connector.id}, but it is saved as ${id}`);
|
|
303
|
+
if (!connector.http && !connector.soap && !connector.odata && !connector.sql)
|
|
304
|
+
throw new InvalidInput("An internal app needs an http, soap, odata or sql block");
|
|
305
|
+
if (connector.events)
|
|
306
|
+
throw new InvalidInput("Internal apps cannot start agents from events yet: remove events");
|
|
307
|
+
if (connector.signsInAs)
|
|
308
|
+
throw new InvalidInput("Internal apps sign in with their own connection: remove signsInAs");
|
|
309
|
+
try {
|
|
310
|
+
return deps.internalApp(connector);
|
|
311
|
+
}
|
|
312
|
+
catch (error) {
|
|
313
|
+
throw new InvalidInput(error.message);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
// What replacing a connected app's definition does: a change to how it signs in or where it
|
|
317
|
+
// reaches (form fields, accountKey, the http, soap, odata or sql block but its tools) removes
|
|
318
|
+
// the connection and its grants, since the credential was entered for the old one. Otherwise
|
|
319
|
+
// the ceiling and grants are cut to the capabilities the new definition still has, and a
|
|
320
|
+
// grant whose limits no longer fit it, or left with nothing, is removed.
|
|
321
|
+
function replaceChange(previous, next, connection, grants) {
|
|
322
|
+
if (!connection)
|
|
323
|
+
return { kind: "none" };
|
|
324
|
+
if (!previous || signIn(previous) !== signIn(next))
|
|
325
|
+
return { kind: "disconnect", reason: "its sign-in or address changed" };
|
|
326
|
+
const ceiling = next.capabilities
|
|
327
|
+
.filter((c) => c.required || connection.capabilities.includes(c.id))
|
|
328
|
+
.map((c) => c.id);
|
|
329
|
+
if (!ceiling.length)
|
|
330
|
+
return { kind: "disconnect", reason: "none of its capabilities is left" };
|
|
331
|
+
const kept = [];
|
|
332
|
+
const removed = [];
|
|
333
|
+
for (const g of grants) {
|
|
334
|
+
const capabilities = ceiling.filter((id) => g.capabilities.includes(id) || next.capabilities.find((c) => c.id === id).required);
|
|
335
|
+
let limits = null;
|
|
336
|
+
try {
|
|
337
|
+
limits = validateLimits(next, g.limits);
|
|
338
|
+
}
|
|
339
|
+
catch (error) {
|
|
340
|
+
if (!(error instanceof InvalidInput))
|
|
341
|
+
throw error;
|
|
342
|
+
}
|
|
343
|
+
if (limits && capabilities.length)
|
|
344
|
+
kept.push({ agentId: g.agentId, capabilities, limits });
|
|
345
|
+
else
|
|
346
|
+
removed.push(g.agentId);
|
|
347
|
+
}
|
|
348
|
+
return { kind: "keep", ceiling, grants: kept, removed };
|
|
349
|
+
}
|
|
220
350
|
function providerApp(id) {
|
|
221
351
|
const found = providers.get(id);
|
|
222
352
|
if (!found)
|
|
@@ -224,7 +354,7 @@ export function createService(deps) {
|
|
|
224
354
|
return found;
|
|
225
355
|
}
|
|
226
356
|
function approvalFor(connectorId) {
|
|
227
|
-
const target =
|
|
357
|
+
const target = loaded(connectorId);
|
|
228
358
|
const approval = target.connector.provider
|
|
229
359
|
? providerApp(target.connector.provider).client.approval
|
|
230
360
|
: undefined;
|
|
@@ -411,14 +541,85 @@ export function createService(deps) {
|
|
|
411
541
|
}
|
|
412
542
|
return {
|
|
413
543
|
connectors: () => deps.apps.map(({ connector }) => connector),
|
|
544
|
+
// Every app the organization can connect: the deployment's and its own.
|
|
545
|
+
async connectorsFor(org) {
|
|
546
|
+
return [...(await orgApps(org)).values()].map(({ connector }) => connector);
|
|
547
|
+
},
|
|
548
|
+
// The organization's own apps as saved, each with what keeps it from loading, if anything.
|
|
549
|
+
async listInternalApps(org) {
|
|
550
|
+
return (await store.listInternalApps(org)).map(withProblem);
|
|
551
|
+
},
|
|
552
|
+
async getInternalApp(org, id) {
|
|
553
|
+
const row = await store.getInternalApp(org, id);
|
|
554
|
+
return row ? withProblem(row) : null;
|
|
555
|
+
},
|
|
556
|
+
// Creates or replaces one of the organization's own apps (see replaceChange for what a
|
|
557
|
+
// replace does to its connection and grants), audited in the same transaction.
|
|
558
|
+
async saveInternalApp(org, id, definition, by) {
|
|
559
|
+
if (reserved.has(id))
|
|
560
|
+
throw new InvalidInput(`${id} is the id of one of this deployment's apps. Choose another id.`);
|
|
561
|
+
const next = defined(definition, id).connector;
|
|
562
|
+
const others = await orgApps(org);
|
|
563
|
+
others.delete(id);
|
|
564
|
+
const taken = next.capabilities
|
|
565
|
+
.flatMap((c) => c.tools)
|
|
566
|
+
.filter((t) => loadedTools.has(t) || [...others.values()].some((a) => a.toolset.names.includes(t)));
|
|
567
|
+
if (taken.length)
|
|
568
|
+
throw new InvalidInput(`Another app already has a tool named ${taken.join(", ")}. Tool names must be unique: rename them.`);
|
|
569
|
+
const { row, created, change } = await store.saveInternalApp({ organizationId: org, id, definition, by }, (previous, connection, grants) => {
|
|
570
|
+
let before = null;
|
|
571
|
+
try {
|
|
572
|
+
before = previous ? parseConnector(previous, "definition") : null;
|
|
573
|
+
}
|
|
574
|
+
catch {
|
|
575
|
+
// A stored definition that no longer parses cannot vouch for the connection.
|
|
576
|
+
}
|
|
577
|
+
return replaceChange(before, next, connection, grants);
|
|
578
|
+
}, (isNew, c) => ({
|
|
579
|
+
organizationId: org,
|
|
580
|
+
agentId: null,
|
|
581
|
+
agentName: by,
|
|
582
|
+
connectorId: id,
|
|
583
|
+
tool: `admin:${isNew ? "create" : "replace"}_internal_app`,
|
|
584
|
+
target: changeTarget(c),
|
|
585
|
+
decision: "allowed",
|
|
586
|
+
reason: null,
|
|
587
|
+
vendorStatus: null,
|
|
588
|
+
}));
|
|
589
|
+
return {
|
|
590
|
+
app: withProblem(row),
|
|
591
|
+
connector: next,
|
|
592
|
+
created,
|
|
593
|
+
disconnected: change.kind === "disconnect",
|
|
594
|
+
grantsRemoved: change.kind === "keep" ? change.removed : [],
|
|
595
|
+
};
|
|
596
|
+
},
|
|
597
|
+
// Removes one of the organization's own apps with its connection and every grant of it.
|
|
598
|
+
async deleteInternalApp(org, id, by) {
|
|
599
|
+
const deleted = await store.deleteInternalApp(org, id, {
|
|
600
|
+
organizationId: org,
|
|
601
|
+
agentId: null,
|
|
602
|
+
agentName: by,
|
|
603
|
+
connectorId: id,
|
|
604
|
+
tool: "admin:delete_internal_app",
|
|
605
|
+
target: `${id}, with its connection and every agent's access to it`,
|
|
606
|
+
decision: "allowed",
|
|
607
|
+
reason: null,
|
|
608
|
+
vendorStatus: null,
|
|
609
|
+
});
|
|
610
|
+
if (deleted)
|
|
611
|
+
built.delete(`${org}/${id}`);
|
|
612
|
+
return deleted;
|
|
613
|
+
},
|
|
414
614
|
providers: () => [...providers.values()].map(({ provider, client }) => ({
|
|
415
615
|
...provider,
|
|
416
616
|
// The deployment offers approving its own shared app instead of registering one.
|
|
417
617
|
approval: Boolean(client.approval),
|
|
418
618
|
})),
|
|
419
619
|
async listConnections(org) {
|
|
620
|
+
const known = await orgApps(org);
|
|
420
621
|
return (await store.listConnections(org))
|
|
421
|
-
.filter((r) =>
|
|
622
|
+
.filter((r) => known.has(r.connectorId))
|
|
422
623
|
.map(publicConnection);
|
|
423
624
|
},
|
|
424
625
|
async listProviders(org) {
|
|
@@ -435,7 +636,8 @@ export function createService(deps) {
|
|
|
435
636
|
return store.listConfirmed(org);
|
|
436
637
|
},
|
|
437
638
|
async setConfirmed(org, step, by, on) {
|
|
438
|
-
const owner = confirmable.get(step)
|
|
639
|
+
const owner = confirmable.get(step) ??
|
|
640
|
+
[...(await orgApps(org)).values()].find(({ connector }) => [...connector.setup, ...connector.afterConnect].some((s) => s.confirm === step))?.connector.id;
|
|
439
641
|
if (!owner)
|
|
440
642
|
throw new InvalidInput(`No setup step ${step} to confirm`);
|
|
441
643
|
await store.setConfirmed(org, step, by, on);
|
|
@@ -443,7 +645,7 @@ export function createService(deps) {
|
|
|
443
645
|
},
|
|
444
646
|
// Guided apps: the admin's form fields. Verified before anything is stored.
|
|
445
647
|
async connect(input) {
|
|
446
|
-
return save(app(input.connectorId), input);
|
|
648
|
+
return save(await app(input.organizationId, input.connectorId), input);
|
|
447
649
|
},
|
|
448
650
|
// The provider's own sign-in, shared by its apps. Proven before it is stored. Reaching
|
|
449
651
|
// another account than before disconnects its apps.
|
|
@@ -648,7 +850,7 @@ export function createService(deps) {
|
|
|
648
850
|
// not mark the connection broken and cut every agent off. A recorded check that changes the
|
|
649
851
|
// connection's status is audited under `by`, the admin who asked for it.
|
|
650
852
|
async check(org, connectorId, { record = true, by } = {}) {
|
|
651
|
-
const target = app(connectorId);
|
|
853
|
+
const target = await app(org, connectorId);
|
|
652
854
|
const row = await store.getConnection(org, connectorId);
|
|
653
855
|
if (!row)
|
|
654
856
|
return null;
|
|
@@ -686,7 +888,7 @@ export function createService(deps) {
|
|
|
686
888
|
},
|
|
687
889
|
// Sites added after connecting, the whole list at once (adding or removing one).
|
|
688
890
|
async setSites(org, connectorId, raw) {
|
|
689
|
-
const { connector, vendor } = app(connectorId);
|
|
891
|
+
const { connector, vendor } = await app(org, connectorId);
|
|
690
892
|
if (!connector.siteAccess || !vendor.sites)
|
|
691
893
|
throw new InvalidInput(`${connector.name} has no sites to add`);
|
|
692
894
|
const row = await store.getConnection(org, connectorId);
|
|
@@ -702,7 +904,7 @@ export function createService(deps) {
|
|
|
702
904
|
},
|
|
703
905
|
// Whether Microsoft gave the app each added site (or the one asked about), read live.
|
|
704
906
|
async siteAccess(org, connectorId, only) {
|
|
705
|
-
const { connector, vendor } = app(connectorId);
|
|
907
|
+
const { connector, vendor } = await app(org, connectorId);
|
|
706
908
|
if (!connector.siteAccess || !vendor.sites)
|
|
707
909
|
throw new InvalidInput(`${connector.name} has no sites to check`);
|
|
708
910
|
const row = await store.getConnection(org, connectorId);
|
|
@@ -723,7 +925,7 @@ export function createService(deps) {
|
|
|
723
925
|
// A check of an address no key holds yet is recorded, so lookups of other mailboxes in the
|
|
724
926
|
// tenant leave a trace.
|
|
725
927
|
async agentAccess(org, connectorId, value, by) {
|
|
726
|
-
const { connector, vendor } = app(connectorId);
|
|
928
|
+
const { connector, vendor } = await app(org, connectorId);
|
|
727
929
|
const access = connector.agentAccess;
|
|
728
930
|
if (!access)
|
|
729
931
|
throw new InvalidInput(`${connector.name} has no agent address to check`);
|
|
@@ -788,11 +990,11 @@ export function createService(deps) {
|
|
|
788
990
|
},
|
|
789
991
|
// The saved ceiling, or null when the app is not connected.
|
|
790
992
|
async setCeiling(org, connectorId, ceiling) {
|
|
791
|
-
const caps = validateCapabilities(app(connectorId).connector, ceiling);
|
|
993
|
+
const caps = validateCapabilities((await app(org, connectorId)).connector, ceiling);
|
|
792
994
|
return (await store.setCeiling(org, connectorId, caps)) ? caps : null;
|
|
793
995
|
},
|
|
794
996
|
async setGrant(org, agentId, connectorId, capabilities, limits) {
|
|
795
|
-
const { connector, vendor } = app(connectorId);
|
|
997
|
+
const { connector, vendor } = await app(org, connectorId);
|
|
796
998
|
const caps = validateCapabilities(connector, capabilities);
|
|
797
999
|
const checked = validateLimits(connector, limits);
|
|
798
1000
|
const row = await store.getConnection(org, connectorId);
|
|
@@ -827,7 +1029,7 @@ export function createService(deps) {
|
|
|
827
1029
|
/** A call with the organization's own connection, no agent's (an event poll or a webhook
|
|
828
1030
|
* registration). Null when the app is not connected. */
|
|
829
1031
|
async appCall(org, connectorId, request) {
|
|
830
|
-
const target = app(connectorId);
|
|
1032
|
+
const target = await app(org, connectorId);
|
|
831
1033
|
const row = await store.getConnection(org, connectorId);
|
|
832
1034
|
if (!row || row.status !== "connected")
|
|
833
1035
|
return null;
|
|
@@ -841,16 +1043,17 @@ export function createService(deps) {
|
|
|
841
1043
|
const agent = await store.agentByKeyHash(hashAgentKey(rawKey));
|
|
842
1044
|
if (!agent || agent.status !== "active")
|
|
843
1045
|
return null;
|
|
844
|
-
const [grants, connections, providerRows] = await Promise.all([
|
|
1046
|
+
const [grants, connections, providerRows, known] = await Promise.all([
|
|
845
1047
|
store.grantsFor(agent.id),
|
|
846
1048
|
store.listConnections(agent.organizationId),
|
|
847
1049
|
store.listProviders(agent.organizationId),
|
|
1050
|
+
orgApps(agent.organizationId),
|
|
848
1051
|
]);
|
|
849
|
-
const needsBot = grants.some((g) =>
|
|
1052
|
+
const needsBot = grants.some((g) => known.get(g.connectorId)?.connector.signsInAs);
|
|
850
1053
|
if (needsBot && !deps.bots)
|
|
851
1054
|
throw new Error("An app signs in as the agent's bot, but bots are not loaded");
|
|
852
1055
|
const bot = needsBot ? await deps.bots.botForAgent(agent.organizationId, agent.id) : null;
|
|
853
|
-
const toolsets = sessionToolsets(agent, grants, connections, providerRows, bot);
|
|
1056
|
+
const toolsets = sessionToolsets(known, agent, grants, connections, providerRows, bot);
|
|
854
1057
|
const granted = new Set(toolsets.flatMap((t) => [...t.allowed]));
|
|
855
1058
|
return {
|
|
856
1059
|
agent,
|
|
@@ -860,7 +1063,7 @@ export function createService(deps) {
|
|
|
860
1063
|
async refuseUngranted(tool, args) {
|
|
861
1064
|
if (granted.has(tool))
|
|
862
1065
|
return;
|
|
863
|
-
const owner =
|
|
1066
|
+
const owner = [...known.values()].find((a) => a.toolset.names.includes(tool));
|
|
864
1067
|
if (!owner)
|
|
865
1068
|
return;
|
|
866
1069
|
await store.audit({
|
|
@@ -878,9 +1081,9 @@ export function createService(deps) {
|
|
|
878
1081
|
};
|
|
879
1082
|
},
|
|
880
1083
|
};
|
|
881
|
-
function sessionToolsets(agent, grants, connections, providerRows, bot) {
|
|
1084
|
+
function sessionToolsets(known, agent, grants, connections, providerRows, bot) {
|
|
882
1085
|
return grants.flatMap((grant) => {
|
|
883
|
-
const target =
|
|
1086
|
+
const target = known.get(grant.connectorId);
|
|
884
1087
|
const row = connections.find((c) => c.connectorId === grant.connectorId);
|
|
885
1088
|
if (!target || !row || row.status !== "connected")
|
|
886
1089
|
return [];
|
|
@@ -922,4 +1125,39 @@ export function createService(deps) {
|
|
|
922
1125
|
});
|
|
923
1126
|
}
|
|
924
1127
|
}
|
|
1128
|
+
// The parser's message (z.prettifyError: "✖ problem" lines, each followed by "→ at path") as
|
|
1129
|
+
// plain sentences.
|
|
1130
|
+
export function plainParseError(message) {
|
|
1131
|
+
const lines = message
|
|
1132
|
+
.replace(/^definition: /, "")
|
|
1133
|
+
.split("\n")
|
|
1134
|
+
.map((l) => l.trim())
|
|
1135
|
+
.filter(Boolean);
|
|
1136
|
+
const out = [];
|
|
1137
|
+
for (const line of lines) {
|
|
1138
|
+
if (line.startsWith("→ at "))
|
|
1139
|
+
out[out.length - 1] += ` (at ${line.slice(5)})`;
|
|
1140
|
+
else
|
|
1141
|
+
out.push(line.replace(/^✖\s*/, ""));
|
|
1142
|
+
}
|
|
1143
|
+
return `This definition does not load: ${out.join("; ")}`;
|
|
1144
|
+
}
|
|
1145
|
+
const shadowed = (id) => `This deployment now has its own app with the id ${id}, so neither is used in this organization. Save this one under another id, then delete it here, which also removes its connection.`;
|
|
1146
|
+
// How a definition signs in and where it reaches, compared across a replace.
|
|
1147
|
+
function signIn(c) {
|
|
1148
|
+
const block = c.http ?? c.soap ?? c.odata ?? c.sql;
|
|
1149
|
+
const { tools: _, ...reach } = (block ?? {});
|
|
1150
|
+
return JSON.stringify({
|
|
1151
|
+
fields: c.fields.map((f) => [f.id, Boolean(f.secret), f.options?.map((o) => o.value) ?? null]),
|
|
1152
|
+
accountKey: c.accountKey,
|
|
1153
|
+
reach,
|
|
1154
|
+
});
|
|
1155
|
+
}
|
|
1156
|
+
function changeTarget(change) {
|
|
1157
|
+
if (change.kind === "none")
|
|
1158
|
+
return "not connected";
|
|
1159
|
+
if (change.kind === "disconnect")
|
|
1160
|
+
return `disconnected: ${change.reason}`;
|
|
1161
|
+
return `capabilities ${change.ceiling.join(", ")}${change.removed.length ? `; access removed for agents ${change.removed.join(", ")}` : ""}`;
|
|
1162
|
+
}
|
|
925
1163
|
//# sourceMappingURL=service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../packages/server/src/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../packages/server/src/service.ts"],"names":[],"mappings":"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"}
|