@axiom-lattice/gateway 8.2.0 → 8.3.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.
- package/dist/embed/{embed-page-AgentDetailSideApp-WDDE7BEH.js → embed-page-AgentDetailSideApp-7YTMN643.js} +1 -1
- package/dist/embed/{embed-page-AgentGovernanceWorkbench-7YPU3QB2.js → embed-page-AgentGovernanceWorkbench-YWJ4ZLEV.js} +1 -1
- package/dist/embed/embed-page-MessageGraph-N2DXVMEK.js +6 -0
- package/dist/embed/{embed-page-ReactChart-D7RZQB2H.js → embed-page-ReactChart-3QDZX2WG.js} +1 -1
- package/dist/embed/{embed-page-TasksSideApp-KD4S22SL.js → embed-page-TasksSideApp-MYIRJWFM.js} +1 -1
- package/dist/embed/{embed-page-TopologyRuntimeView-Z7MY6U5T.js → embed-page-TopologyRuntimeView-3O6VJUZR.js} +1 -1
- package/dist/embed/{embed-page-WorkflowAutomationView-4MY4HG7R.js → embed-page-WorkflowAutomationView-YHOS4WQR.js} +1 -1
- package/dist/embed/{embed-page-chunk-GSUSX54K.js → embed-page-chunk-FE6KYRCO.js} +1 -1
- package/dist/embed/{embed-page-chunk-CFFDP526.js → embed-page-chunk-IBRMWDHE.js} +184 -184
- package/dist/embed/{embed-page-chunk-EM6VGUZ2.js → embed-page-chunk-IELKCYQX.js} +1 -1
- package/dist/embed/{embed-page-chunk-BZKAPY7M.js → embed-page-chunk-JTL73EBV.js} +1 -1
- package/dist/embed/{embed-page-chunk-G5MXFDNZ.js → embed-page-chunk-PROZXFWS.js} +1 -1
- package/dist/embed/{embed-page-chunk-HZZ5HNTF.js → embed-page-chunk-WGEXK773.js} +2 -2
- package/dist/embed/{embed-page-chunk-G5PDHDBZ.js → embed-page-chunk-YMVKQQXJ.js} +1 -1
- package/dist/embed/embed-page.js +3 -3
- package/dist/index.js +58 -15
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +58 -15
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/dist/embed/embed-page-MessageGraph-LNNMCH6I.js +0 -6
package/dist/index.mjs
CHANGED
|
@@ -12018,15 +12018,25 @@ var ProjectAccessService = class {
|
|
|
12018
12018
|
input.projectId,
|
|
12019
12019
|
input.userId
|
|
12020
12020
|
);
|
|
12021
|
-
if (
|
|
12021
|
+
if (project.kind === "personal") {
|
|
12022
|
+
if (!this.isActiveMembership(membership, input)) this.accessDenied();
|
|
12022
12023
|
this.requireCapability(membership, input.capability);
|
|
12023
12024
|
return { project, membership };
|
|
12024
12025
|
}
|
|
12026
|
+
if (this.isActiveMembership(membership, input) && this.hasCapability(membership, input.capability)) {
|
|
12027
|
+
return { project, membership };
|
|
12028
|
+
}
|
|
12029
|
+
const tenantAdmin = await this.tenantAdminMembership(project, input);
|
|
12030
|
+
if (this.isActiveMembership(membership, input)) {
|
|
12031
|
+
if (tenantAdmin) return { project, membership: tenantAdmin };
|
|
12032
|
+
this.requireCapability(membership, input.capability);
|
|
12033
|
+
}
|
|
12025
12034
|
const memberships = await this.deps.membershipStore.list(input.tenantId, input.projectId);
|
|
12026
|
-
if (memberships.length !== 0)
|
|
12027
|
-
|
|
12028
|
-
|
|
12029
|
-
|
|
12035
|
+
if (memberships.length !== 0) {
|
|
12036
|
+
if (tenantAdmin) return { project, membership: tenantAdmin };
|
|
12037
|
+
this.accessDenied();
|
|
12038
|
+
}
|
|
12039
|
+
if (!tenantAdmin) this.accessDenied();
|
|
12030
12040
|
let claim;
|
|
12031
12041
|
try {
|
|
12032
12042
|
claim = await this.deps.membershipStore.createInitialOwner({
|
|
@@ -12069,9 +12079,19 @@ var ProjectAccessService = class {
|
|
|
12069
12079
|
input.projectId,
|
|
12070
12080
|
input.userId
|
|
12071
12081
|
);
|
|
12072
|
-
|
|
12073
|
-
|
|
12074
|
-
|
|
12082
|
+
const activeMembership = this.isActiveMembership(membership, input) ? membership : void 0;
|
|
12083
|
+
if (project.kind === "personal") {
|
|
12084
|
+
if (!activeMembership) this.accessDenied();
|
|
12085
|
+
this.requireCapability(activeMembership, input.capability);
|
|
12086
|
+
return { project, membership: activeMembership };
|
|
12087
|
+
}
|
|
12088
|
+
if (activeMembership && this.hasCapability(activeMembership, input.capability)) {
|
|
12089
|
+
return { project, membership: activeMembership };
|
|
12090
|
+
}
|
|
12091
|
+
const tenantAdmin = await this.tenantAdminMembership(project, input);
|
|
12092
|
+
if (tenantAdmin) return { project, membership: tenantAdmin };
|
|
12093
|
+
if (activeMembership) this.requireCapability(activeMembership, input.capability);
|
|
12094
|
+
this.accessDenied();
|
|
12075
12095
|
}
|
|
12076
12096
|
/**
|
|
12077
12097
|
* Authorizes roster visibility for any active participant (owner/admin/member/viewer).
|
|
@@ -12093,6 +12113,9 @@ var ProjectAccessService = class {
|
|
|
12093
12113
|
input.userId
|
|
12094
12114
|
);
|
|
12095
12115
|
if (membership?.status === "active") {
|
|
12116
|
+
if (this.hasCapability(membership, input.capability)) return { project, membership };
|
|
12117
|
+
const tenantAdmin = await this.tenantAdminMembership(project, input);
|
|
12118
|
+
if (tenantAdmin) return { project, membership: tenantAdmin };
|
|
12096
12119
|
this.requireCapability(membership, input.capability);
|
|
12097
12120
|
return { project, membership };
|
|
12098
12121
|
}
|
|
@@ -12107,6 +12130,9 @@ var ProjectAccessService = class {
|
|
|
12107
12130
|
input.userId
|
|
12108
12131
|
);
|
|
12109
12132
|
if (membership?.status === "active") {
|
|
12133
|
+
if (this.hasCapability(membership, input.capability)) return { project, membership };
|
|
12134
|
+
const tenantAdmin = await this.tenantAdminMembership(project, input);
|
|
12135
|
+
if (tenantAdmin) return { project, membership: tenantAdmin };
|
|
12110
12136
|
this.requireCapability(membership, input.capability);
|
|
12111
12137
|
return { project, membership };
|
|
12112
12138
|
}
|
|
@@ -12158,8 +12184,29 @@ var ProjectAccessService = class {
|
|
|
12158
12184
|
throw error;
|
|
12159
12185
|
}
|
|
12160
12186
|
}
|
|
12187
|
+
hasCapability(membership, capability2) {
|
|
12188
|
+
return allowedRoles[capability2].has(membership.role);
|
|
12189
|
+
}
|
|
12161
12190
|
requireCapability(membership, capability2) {
|
|
12162
|
-
if (!
|
|
12191
|
+
if (!this.hasCapability(membership, capability2)) this.accessDenied();
|
|
12192
|
+
}
|
|
12193
|
+
async tenantAdminMembership(project, input) {
|
|
12194
|
+
if (project.kind === "personal") return void 0;
|
|
12195
|
+
const tenantLink = await this.deps.userTenantLinkStore.getLink(input.userId, input.tenantId);
|
|
12196
|
+
if (tenantLink?.role !== "owner" && tenantLink?.role !== "admin") return void 0;
|
|
12197
|
+
return {
|
|
12198
|
+
id: `tenant-admin:${input.userId}`,
|
|
12199
|
+
tenantId: input.tenantId,
|
|
12200
|
+
projectId: project.id,
|
|
12201
|
+
userId: input.userId,
|
|
12202
|
+
role: "admin",
|
|
12203
|
+
status: "active",
|
|
12204
|
+
joinedAt: project.createdAt,
|
|
12205
|
+
updatedAt: project.updatedAt
|
|
12206
|
+
};
|
|
12207
|
+
}
|
|
12208
|
+
isActiveMembership(membership, input) {
|
|
12209
|
+
return membership != null && membership.tenantId === input.tenantId && membership.projectId === input.projectId && membership.userId === input.userId && membership.status === "active";
|
|
12163
12210
|
}
|
|
12164
12211
|
accessDenied() {
|
|
12165
12212
|
throw new ProjectCollaborationError("PROJECT_ACCESS_DENIED", 403, "Project access denied");
|
|
@@ -23449,8 +23496,6 @@ var ProjectMembershipService = class {
|
|
|
23449
23496
|
}
|
|
23450
23497
|
async list(actor3) {
|
|
23451
23498
|
await this.deps.accessService.requireRosterAccess(actor3);
|
|
23452
|
-
const membership = await this.deps.membershipStore.findByUser(actor3.tenantId, actor3.projectId, actor3.userId);
|
|
23453
|
-
if (!membership || membership.status !== "active") this.accessDenied();
|
|
23454
23499
|
return this.deps.membershipStore.list(actor3.tenantId, actor3.projectId);
|
|
23455
23500
|
}
|
|
23456
23501
|
async add(actor3, input) {
|
|
@@ -23508,10 +23553,8 @@ var ProjectMembershipService = class {
|
|
|
23508
23553
|
});
|
|
23509
23554
|
}
|
|
23510
23555
|
async authorize(actor3) {
|
|
23511
|
-
await this.deps.accessService.requireProjectAccess({ ...actor3, capability: "manage" });
|
|
23512
|
-
|
|
23513
|
-
if (!membership || membership.status !== "active") this.accessDenied();
|
|
23514
|
-
return membership;
|
|
23556
|
+
const access = await this.deps.accessService.requireProjectAccess({ ...actor3, capability: "manage" });
|
|
23557
|
+
return access.membership;
|
|
23515
23558
|
}
|
|
23516
23559
|
async target(actor3, id3) {
|
|
23517
23560
|
const target = (await this.deps.membershipStore.list(actor3.tenantId, actor3.projectId)).find((item) => item.id === id3);
|