@mcp-consultant-tools/powerplatform-core 30.0.0-beta.3 → 30.0.0-beta.6

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/build/index.d.ts CHANGED
@@ -37,6 +37,8 @@ export { RelationshipService } from './services/RelationshipService.js';
37
37
  export { SolutionService } from './services/SolutionService.js';
38
38
  export { ViewService } from './services/ViewService.js';
39
39
  export { WebResourceService } from './services/WebResourceService.js';
40
+ export { FieldSecurityService } from './services/FieldSecurityService.js';
41
+ export type { FieldPermissionValue, FieldSecurityProfileSummary, FieldSecurityProfileDetail, FieldPermissionRecord, SecuredColumnInfo, } from './services/FieldSecurityService.js';
40
42
  export { PluginDeploymentService } from './services/PluginDeploymentService.js';
41
43
  export type { PluginTypeInfo, CreatePluginAssemblyOptions, RegisterPluginStepOptions, RegisterPluginImageOptions, PluginPackageInfo, DeployPluginPackageOptions, } from './services/PluginDeploymentService.js';
42
44
  export { AppManagementService } from './services/AppManagementService.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/build/index.js CHANGED
@@ -37,6 +37,8 @@ export { RelationshipService } from './services/RelationshipService.js';
37
37
  export { SolutionService } from './services/SolutionService.js';
38
38
  export { ViewService } from './services/ViewService.js';
39
39
  export { WebResourceService } from './services/WebResourceService.js';
40
+ // Field security
41
+ export { FieldSecurityService } from './services/FieldSecurityService.js';
40
42
  // Plugin deployment and app management services
41
43
  export { PluginDeploymentService } from './services/PluginDeploymentService.js';
42
44
  export { AppManagementService } from './services/AppManagementService.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAEjG,iBAAiB;AACjB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,UAAU,GAGX,MAAM,iBAAiB,CAAC;AAEzB,qBAAqB;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAKtF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK5D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAQxD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AASxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAoBhF,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,yBAAyB;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,gDAAgD;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAUhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAepF,8BAA8B;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAS9E,YAAY;AACZ,OAAO;AACL,gBAAgB;AAChB,WAAW,EACX,WAAW;AAGX,iBAAiB;AACjB,cAAc,EACd,sBAAsB,EACtB,sBAAsB;AAGtB,aAAa;AACb,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B;AAC1B,kBAAkB;AAClB,WAAW,EACX,WAAW;AAGX,gBAAgB;AAChB,YAAY,EACZ,WAAW,EACX,WAAW,EAGX,aAAa;AACb,mBAAmB;AACnB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB;AAChB,0BAA0B;AAC1B,kBAAkB,EAClB,yBAAyB,EACzB,2BAA2B,EAC3B,eAAe,EACf,oBAAoB;AACpB,2CAA2C;AAC3C,6BAA6B,EAC7B,sBAAsB;AAGtB,yBAAyB;AACzB,2BAA2B,GAE5B,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAEjG,iBAAiB;AACjB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,UAAU,GAGX,MAAM,iBAAiB,CAAC;AAEzB,qBAAqB;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAKtF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK5D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAQxD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AASxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAoBhF,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,yBAAyB;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,iBAAiB;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAS1E,gDAAgD;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAUhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAepF,8BAA8B;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAS9E,YAAY;AACZ,OAAO;AACL,gBAAgB;AAChB,WAAW,EACX,WAAW;AAGX,iBAAiB;AACjB,cAAc,EACd,sBAAsB,EACtB,sBAAsB;AAGtB,aAAa;AACb,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B;AAC1B,kBAAkB;AAClB,WAAW,EACX,WAAW;AAGX,gBAAgB;AAChB,YAAY,EACZ,WAAW,EACX,WAAW,EAGX,aAAa;AACb,mBAAmB;AACnB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB;AAChB,0BAA0B;AAC1B,kBAAkB,EAClB,yBAAyB,EACzB,2BAA2B,EAC3B,eAAe,EACf,oBAAoB;AACpB,2CAA2C;AAC3C,6BAA6B,EAC7B,sBAAsB;AAGtB,yBAAyB;AACzB,2BAA2B,GAE5B,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * FieldSecurityService
3
+ *
4
+ * Service for Field Security Profile (FSP) operations.
5
+ *
6
+ * Field Security Profiles control read/create/update access to secured columns
7
+ * in Dataverse. A column must first be marked with IsSecured = true on its
8
+ * attribute metadata (handled by AttributeService + PublishingService on the
9
+ * customization facade). Once secured, a column is inaccessible to any principal
10
+ * that does not have an FSP granting the desired access.
11
+ *
12
+ * This service handles FSP records, field permissions, and team/user assignments.
13
+ * Setting IsSecured on the attribute itself is orchestrated by the facade.
14
+ */
15
+ import type { PowerPlatformClient } from '../client/PowerPlatformClient.js';
16
+ /** Dataverse permission enum values (NOT 0/1 — surprising but documented). */
17
+ export declare const FIELD_PERMISSION_ALLOWED = 4;
18
+ export declare const FIELD_PERMISSION_NOT_ALLOWED = 0;
19
+ export type FieldPermissionValue = 'Allowed' | 'NotAllowed';
20
+ export interface FieldSecurityProfileSummary {
21
+ fieldSecurityProfileId: string;
22
+ name: string;
23
+ description?: string;
24
+ isManaged: boolean;
25
+ solutionId?: string;
26
+ }
27
+ export interface FieldPermissionRecord {
28
+ fieldPermissionId: string;
29
+ entityName: string;
30
+ attributeLogicalName: string;
31
+ canCreate: FieldPermissionValue;
32
+ canRead: FieldPermissionValue;
33
+ canUpdate: FieldPermissionValue;
34
+ }
35
+ export interface FieldSecurityProfileDetail extends FieldSecurityProfileSummary {
36
+ permissions: FieldPermissionRecord[];
37
+ teams: Array<{
38
+ teamId: string;
39
+ name: string;
40
+ }>;
41
+ users: Array<{
42
+ systemUserId: string;
43
+ fullName: string;
44
+ }>;
45
+ }
46
+ export interface SecuredColumnInfo {
47
+ attributeLogicalName: string;
48
+ attributeType: string;
49
+ fieldSecurityProfiles: Array<{
50
+ fieldSecurityProfileId: string;
51
+ name: string;
52
+ canCreate: FieldPermissionValue;
53
+ canRead: FieldPermissionValue;
54
+ canUpdate: FieldPermissionValue;
55
+ }>;
56
+ }
57
+ export declare class FieldSecurityService {
58
+ private client;
59
+ constructor(client: PowerPlatformClient);
60
+ createFieldSecurityProfile(name: string, description?: string, solutionUniqueName?: string): Promise<FieldSecurityProfileSummary>;
61
+ updateFieldSecurityProfile(fieldSecurityProfileId: string, updates: {
62
+ name?: string;
63
+ description?: string;
64
+ }): Promise<void>;
65
+ deleteFieldSecurityProfile(fieldSecurityProfileId: string): Promise<void>;
66
+ listFieldSecurityProfiles(namePattern?: string): Promise<FieldSecurityProfileSummary[]>;
67
+ private getFieldSecurityProfileRecord;
68
+ getFieldSecurityProfile(fieldSecurityProfileId: string): Promise<FieldSecurityProfileDetail>;
69
+ listFieldPermissions(fieldSecurityProfileId: string): Promise<FieldPermissionRecord[]>;
70
+ private findExistingPermission;
71
+ addFieldPermission(options: {
72
+ fieldSecurityProfileId: string;
73
+ entityLogicalName: string;
74
+ attributeLogicalName: string;
75
+ canCreate: FieldPermissionValue;
76
+ canRead: FieldPermissionValue;
77
+ canUpdate: FieldPermissionValue;
78
+ upsert?: boolean;
79
+ }): Promise<FieldPermissionRecord>;
80
+ removeFieldPermission(fieldPermissionId: string): Promise<void>;
81
+ listAssignedTeams(fieldSecurityProfileId: string): Promise<Array<{
82
+ teamId: string;
83
+ name: string;
84
+ }>>;
85
+ listAssignedUsers(fieldSecurityProfileId: string): Promise<Array<{
86
+ systemUserId: string;
87
+ fullName: string;
88
+ }>>;
89
+ assignProfileToTeam(fieldSecurityProfileId: string, teamId: string): Promise<{
90
+ alreadyAssigned: boolean;
91
+ }>;
92
+ unassignProfileFromTeam(fieldSecurityProfileId: string, teamId: string): Promise<void>;
93
+ assignProfileToUser(fieldSecurityProfileId: string, systemUserId: string): Promise<{
94
+ alreadyAssigned: boolean;
95
+ }>;
96
+ unassignProfileFromUser(fieldSecurityProfileId: string, systemUserId: string): Promise<void>;
97
+ /**
98
+ * Return all secured columns on an entity with the FSPs that grant access to each.
99
+ * Requires IsSecured = true on the attribute metadata.
100
+ */
101
+ getSecuredColumns(entityLogicalName: string): Promise<SecuredColumnInfo[]>;
102
+ }
103
+ //# sourceMappingURL=FieldSecurityService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldSecurityService.d.ts","sourceRoot":"","sources":["../../src/services/FieldSecurityService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,256 @@
1
+ /**
2
+ * FieldSecurityService
3
+ *
4
+ * Service for Field Security Profile (FSP) operations.
5
+ *
6
+ * Field Security Profiles control read/create/update access to secured columns
7
+ * in Dataverse. A column must first be marked with IsSecured = true on its
8
+ * attribute metadata (handled by AttributeService + PublishingService on the
9
+ * customization facade). Once secured, a column is inaccessible to any principal
10
+ * that does not have an FSP granting the desired access.
11
+ *
12
+ * This service handles FSP records, field permissions, and team/user assignments.
13
+ * Setting IsSecured on the attribute itself is orchestrated by the facade.
14
+ */
15
+ /** Dataverse permission enum values (NOT 0/1 — surprising but documented). */
16
+ export const FIELD_PERMISSION_ALLOWED = 4;
17
+ export const FIELD_PERMISSION_NOT_ALLOWED = 0;
18
+ function toEnum(v) {
19
+ return v === 'Allowed' ? FIELD_PERMISSION_ALLOWED : FIELD_PERMISSION_NOT_ALLOWED;
20
+ }
21
+ function fromEnum(v) {
22
+ return v === FIELD_PERMISSION_ALLOWED ? 'Allowed' : 'NotAllowed';
23
+ }
24
+ export class FieldSecurityService {
25
+ client;
26
+ constructor(client) {
27
+ this.client = client;
28
+ }
29
+ // =====================================================
30
+ // FSP LIFECYCLE
31
+ // =====================================================
32
+ async createFieldSecurityProfile(name, description, solutionUniqueName) {
33
+ const headers = { Prefer: 'return=representation' };
34
+ if (solutionUniqueName) {
35
+ headers['MSCRM.SolutionUniqueName'] = solutionUniqueName;
36
+ }
37
+ const body = { name };
38
+ if (description !== undefined)
39
+ body.description = description;
40
+ const created = await this.client.makeRequest('api/data/v9.2/fieldsecurityprofiles', 'POST', body, headers);
41
+ return {
42
+ fieldSecurityProfileId: String(created.fieldsecurityprofileid),
43
+ name: String(created.name),
44
+ description: created.description,
45
+ isManaged: Boolean(created.ismanaged),
46
+ solutionId: created.solutionid,
47
+ };
48
+ }
49
+ async updateFieldSecurityProfile(fieldSecurityProfileId, updates) {
50
+ const body = {};
51
+ if (updates.name !== undefined)
52
+ body.name = updates.name;
53
+ if (updates.description !== undefined)
54
+ body.description = updates.description;
55
+ if (Object.keys(body).length === 0) {
56
+ throw new Error('updateFieldSecurityProfile requires at least one of: name, description');
57
+ }
58
+ await this.client.makeRequestNoContent(`api/data/v9.2/fieldsecurityprofiles(${fieldSecurityProfileId})`, 'PATCH', body);
59
+ }
60
+ async deleteFieldSecurityProfile(fieldSecurityProfileId) {
61
+ const existing = await this.getFieldSecurityProfileRecord(fieldSecurityProfileId);
62
+ if (existing.isManaged) {
63
+ throw new Error(`Cannot delete field security profile '${existing.name}' — it is part of a managed solution.`);
64
+ }
65
+ await this.client.makeRequestNoContent(`api/data/v9.2/fieldsecurityprofiles(${fieldSecurityProfileId})`, 'DELETE');
66
+ }
67
+ async listFieldSecurityProfiles(namePattern) {
68
+ let endpoint = 'api/data/v9.2/fieldsecurityprofiles?$select=fieldsecurityprofileid,name,description,ismanaged,solutionid';
69
+ if (namePattern) {
70
+ const escaped = namePattern.replace(/'/g, "''");
71
+ endpoint += `&$filter=contains(name,'${escaped}')`;
72
+ }
73
+ const resp = await this.client.makeRequest(endpoint, 'GET');
74
+ return (resp.value || []).map((r) => ({
75
+ fieldSecurityProfileId: String(r.fieldsecurityprofileid),
76
+ name: String(r.name),
77
+ description: r.description,
78
+ isManaged: Boolean(r.ismanaged),
79
+ solutionId: r.solutionid,
80
+ }));
81
+ }
82
+ async getFieldSecurityProfileRecord(fieldSecurityProfileId) {
83
+ const r = await this.client.makeRequest(`api/data/v9.2/fieldsecurityprofiles(${fieldSecurityProfileId})?$select=fieldsecurityprofileid,name,description,ismanaged,solutionid`, 'GET');
84
+ return {
85
+ fieldSecurityProfileId: String(r.fieldsecurityprofileid),
86
+ name: String(r.name),
87
+ description: r.description,
88
+ isManaged: Boolean(r.ismanaged),
89
+ solutionId: r.solutionid,
90
+ };
91
+ }
92
+ async getFieldSecurityProfile(fieldSecurityProfileId) {
93
+ const summary = await this.getFieldSecurityProfileRecord(fieldSecurityProfileId);
94
+ const [permissions, teams, users] = await Promise.all([
95
+ this.listFieldPermissions(fieldSecurityProfileId),
96
+ this.listAssignedTeams(fieldSecurityProfileId),
97
+ this.listAssignedUsers(fieldSecurityProfileId),
98
+ ]);
99
+ return { ...summary, permissions, teams, users };
100
+ }
101
+ // =====================================================
102
+ // FIELD PERMISSIONS
103
+ // =====================================================
104
+ async listFieldPermissions(fieldSecurityProfileId) {
105
+ const endpoint = `api/data/v9.2/fieldpermissions?$select=fieldpermissionid,entityname,attributelogicalname,cancreate,canread,canupdate&$filter=_fieldsecurityprofileid_value eq ${fieldSecurityProfileId}`;
106
+ const resp = await this.client.makeRequest(endpoint, 'GET');
107
+ return (resp.value || []).map((r) => ({
108
+ fieldPermissionId: String(r.fieldpermissionid),
109
+ entityName: String(r.entityname),
110
+ attributeLogicalName: String(r.attributelogicalname),
111
+ canCreate: fromEnum(r.cancreate),
112
+ canRead: fromEnum(r.canread),
113
+ canUpdate: fromEnum(r.canupdate),
114
+ }));
115
+ }
116
+ async findExistingPermission(fieldSecurityProfileId, entityName, attributeLogicalName) {
117
+ const escapedEntity = entityName.replace(/'/g, "''");
118
+ const escapedAttr = attributeLogicalName.replace(/'/g, "''");
119
+ const endpoint = `api/data/v9.2/fieldpermissions?$select=fieldpermissionid&$filter=_fieldsecurityprofileid_value eq ${fieldSecurityProfileId} and entityname eq '${escapedEntity}' and attributelogicalname eq '${escapedAttr}'`;
120
+ const resp = await this.client.makeRequest(endpoint, 'GET');
121
+ const first = resp.value?.[0];
122
+ return first ? String(first.fieldpermissionid) : null;
123
+ }
124
+ async addFieldPermission(options) {
125
+ const upsert = options.upsert !== false;
126
+ if (upsert) {
127
+ const existingId = await this.findExistingPermission(options.fieldSecurityProfileId, options.entityLogicalName, options.attributeLogicalName);
128
+ if (existingId) {
129
+ await this.client.makeRequestNoContent(`api/data/v9.2/fieldpermissions(${existingId})`, 'PATCH', {
130
+ cancreate: toEnum(options.canCreate),
131
+ canread: toEnum(options.canRead),
132
+ canupdate: toEnum(options.canUpdate),
133
+ });
134
+ return {
135
+ fieldPermissionId: existingId,
136
+ entityName: options.entityLogicalName,
137
+ attributeLogicalName: options.attributeLogicalName,
138
+ canCreate: options.canCreate,
139
+ canRead: options.canRead,
140
+ canUpdate: options.canUpdate,
141
+ };
142
+ }
143
+ }
144
+ const body = {
145
+ entityname: options.entityLogicalName,
146
+ attributelogicalname: options.attributeLogicalName,
147
+ cancreate: toEnum(options.canCreate),
148
+ canread: toEnum(options.canRead),
149
+ canupdate: toEnum(options.canUpdate),
150
+ 'fieldsecurityprofileid@odata.bind': `/fieldsecurityprofiles(${options.fieldSecurityProfileId})`,
151
+ };
152
+ const created = await this.client.makeRequest('api/data/v9.2/fieldpermissions', 'POST', body, { Prefer: 'return=representation' });
153
+ return {
154
+ fieldPermissionId: String(created.fieldpermissionid),
155
+ entityName: options.entityLogicalName,
156
+ attributeLogicalName: options.attributeLogicalName,
157
+ canCreate: options.canCreate,
158
+ canRead: options.canRead,
159
+ canUpdate: options.canUpdate,
160
+ };
161
+ }
162
+ async removeFieldPermission(fieldPermissionId) {
163
+ await this.client.makeRequestNoContent(`api/data/v9.2/fieldpermissions(${fieldPermissionId})`, 'DELETE');
164
+ }
165
+ // =====================================================
166
+ // ASSIGNMENTS (TEAMS / USERS)
167
+ // =====================================================
168
+ async listAssignedTeams(fieldSecurityProfileId) {
169
+ const endpoint = `api/data/v9.2/fieldsecurityprofiles(${fieldSecurityProfileId})/teamprofiles_association?$select=teamid,name`;
170
+ const resp = await this.client.makeRequest(endpoint, 'GET');
171
+ return (resp.value || []).map((r) => ({
172
+ teamId: String(r.teamid),
173
+ name: String(r.name ?? ''),
174
+ }));
175
+ }
176
+ async listAssignedUsers(fieldSecurityProfileId) {
177
+ const endpoint = `api/data/v9.2/fieldsecurityprofiles(${fieldSecurityProfileId})/systemuserprofiles_association?$select=systemuserid,fullname`;
178
+ const resp = await this.client.makeRequest(endpoint, 'GET');
179
+ return (resp.value || []).map((r) => ({
180
+ systemUserId: String(r.systemuserid),
181
+ fullName: String(r.fullname ?? ''),
182
+ }));
183
+ }
184
+ async assignProfileToTeam(fieldSecurityProfileId, teamId) {
185
+ const existing = await this.listAssignedTeams(fieldSecurityProfileId);
186
+ if (existing.some((t) => t.teamId.toLowerCase() === teamId.toLowerCase())) {
187
+ return { alreadyAssigned: true };
188
+ }
189
+ const orgUrl = this.client.getOrganizationUrl().replace(/\/$/, '');
190
+ await this.client.makeRequestNoContent(`api/data/v9.2/fieldsecurityprofiles(${fieldSecurityProfileId})/teamprofiles_association/$ref`, 'POST', { '@odata.id': `${orgUrl}/api/data/v9.2/teams(${teamId})` });
191
+ return { alreadyAssigned: false };
192
+ }
193
+ async unassignProfileFromTeam(fieldSecurityProfileId, teamId) {
194
+ await this.client.makeRequestNoContent(`api/data/v9.2/fieldsecurityprofiles(${fieldSecurityProfileId})/teamprofiles_association(${teamId})/$ref`, 'DELETE');
195
+ }
196
+ async assignProfileToUser(fieldSecurityProfileId, systemUserId) {
197
+ const existing = await this.listAssignedUsers(fieldSecurityProfileId);
198
+ if (existing.some((u) => u.systemUserId.toLowerCase() === systemUserId.toLowerCase())) {
199
+ return { alreadyAssigned: true };
200
+ }
201
+ const orgUrl = this.client.getOrganizationUrl().replace(/\/$/, '');
202
+ await this.client.makeRequestNoContent(`api/data/v9.2/fieldsecurityprofiles(${fieldSecurityProfileId})/systemuserprofiles_association/$ref`, 'POST', { '@odata.id': `${orgUrl}/api/data/v9.2/systemusers(${systemUserId})` });
203
+ return { alreadyAssigned: false };
204
+ }
205
+ async unassignProfileFromUser(fieldSecurityProfileId, systemUserId) {
206
+ await this.client.makeRequestNoContent(`api/data/v9.2/fieldsecurityprofiles(${fieldSecurityProfileId})/systemuserprofiles_association(${systemUserId})/$ref`, 'DELETE');
207
+ }
208
+ // =====================================================
209
+ // SECURED COLUMNS DISCOVERY
210
+ // =====================================================
211
+ /**
212
+ * Return all secured columns on an entity with the FSPs that grant access to each.
213
+ * Requires IsSecured = true on the attribute metadata.
214
+ */
215
+ async getSecuredColumns(entityLogicalName) {
216
+ const attrsEndpoint = `api/data/v9.2/EntityDefinitions(LogicalName='${entityLogicalName}')/Attributes?$select=LogicalName,AttributeType,IsSecured&$filter=IsSecured eq true`;
217
+ const attrsResp = await this.client.makeRequest(attrsEndpoint, 'GET');
218
+ const securedAttrs = (attrsResp.value || []).map((a) => ({
219
+ attributeLogicalName: String(a.LogicalName),
220
+ attributeType: String(a.AttributeType),
221
+ }));
222
+ if (securedAttrs.length === 0)
223
+ return [];
224
+ const permsEndpoint = `api/data/v9.2/fieldpermissions?$select=fieldpermissionid,entityname,attributelogicalname,cancreate,canread,canupdate,_fieldsecurityprofileid_value&$filter=entityname eq '${entityLogicalName.replace(/'/g, "''")}'`;
225
+ const permsResp = await this.client.makeRequest(permsEndpoint, 'GET');
226
+ const perms = permsResp.value || [];
227
+ const fspIds = Array.from(new Set(perms.map((p) => String(p._fieldsecurityprofileid_value))));
228
+ const fspNames = {};
229
+ if (fspIds.length > 0) {
230
+ const orFilter = fspIds
231
+ .map((id) => `fieldsecurityprofileid eq ${id}`)
232
+ .join(' or ');
233
+ const fspResp = await this.client.makeRequest(`api/data/v9.2/fieldsecurityprofiles?$select=fieldsecurityprofileid,name&$filter=${encodeURIComponent(orFilter)}`, 'GET');
234
+ for (const f of fspResp.value || []) {
235
+ fspNames[String(f.fieldsecurityprofileid)] = String(f.name);
236
+ }
237
+ }
238
+ return securedAttrs.map((attr) => ({
239
+ attributeLogicalName: attr.attributeLogicalName,
240
+ attributeType: attr.attributeType,
241
+ fieldSecurityProfiles: perms
242
+ .filter((p) => String(p.attributelogicalname) === attr.attributeLogicalName)
243
+ .map((p) => {
244
+ const fspId = String(p._fieldsecurityprofileid_value);
245
+ return {
246
+ fieldSecurityProfileId: fspId,
247
+ name: fspNames[fspId] ?? '',
248
+ canCreate: fromEnum(p.cancreate),
249
+ canRead: fromEnum(p.canread),
250
+ canUpdate: fromEnum(p.canupdate),
251
+ };
252
+ }),
253
+ }));
254
+ }
255
+ }
256
+ //# sourceMappingURL=FieldSecurityService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldSecurityService.js","sourceRoot":"","sources":["../../src/services/FieldSecurityService.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,14 @@ export declare class ViewService {
13
13
  */
14
14
  createView(view: Record<string, unknown>, solutionUniqueName?: string): Promise<unknown>;
15
15
  /**
16
- * Update a view
16
+ * Update a view.
17
+ *
18
+ * Quick Find views (querytype=4) have platform-enforced Web API restrictions:
19
+ * writes to `fetchxml` hard-fail with 0x80040216, and writes to `name` /
20
+ * `layoutxml` return 204 but are silently discarded. `description` and
21
+ * `isdefault` are the only fields the Web API actually persists. We
22
+ * pre-flight the querytype whenever an unsupported field is in the payload
23
+ * and fail fast so callers don't think a no-op PATCH succeeded.
17
24
  */
18
25
  updateView(viewId: string, updates: Record<string, unknown>, solutionUniqueName?: string): Promise<void>;
19
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ViewService.d.ts","sourceRoot":"","sources":["../../src/services/ViewService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,qBAAa,WAAW;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB;IAE/C;;OAEG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,OAAO,CAAC;IAanB;;OAEG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC;IAahB;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C;;OAEG;IACG,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM3D;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAKxD"}
1
+ {"version":3,"file":"ViewService.d.ts","sourceRoot":"","sources":["../../src/services/ViewService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,qBAAa,WAAW;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB;IAE/C;;OAEG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,OAAO,CAAC;IAanB;;;;;;;;;OASG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC;IAiChB;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C;;OAEG;IACG,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM3D;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAKxD"}
@@ -19,9 +19,31 @@ export class ViewService {
19
19
  return this.client.makeRequest('api/data/v9.2/savedqueries', 'POST', view, headers);
20
20
  }
21
21
  /**
22
- * Update a view
22
+ * Update a view.
23
+ *
24
+ * Quick Find views (querytype=4) have platform-enforced Web API restrictions:
25
+ * writes to `fetchxml` hard-fail with 0x80040216, and writes to `name` /
26
+ * `layoutxml` return 204 but are silently discarded. `description` and
27
+ * `isdefault` are the only fields the Web API actually persists. We
28
+ * pre-flight the querytype whenever an unsupported field is in the payload
29
+ * and fail fast so callers don't think a no-op PATCH succeeded.
23
30
  */
24
31
  async updateView(viewId, updates, solutionUniqueName) {
32
+ const restrictedOnQuickFind = ['fetchxml', 'name', 'layoutxml', 'layoutjson'];
33
+ const touched = restrictedOnQuickFind.filter((f) => Object.prototype.hasOwnProperty.call(updates, f));
34
+ if (touched.length > 0) {
35
+ const existing = await this.client.makeRequest(`api/data/v9.2/savedqueries(${viewId})?$select=querytype,returnedtypecode`);
36
+ if (existing?.querytype === 4) {
37
+ const fields = touched.join(', ');
38
+ const entity = existing.returnedtypecode ? ` for entity '${existing.returnedtypecode}'` : '';
39
+ throw new Error(`Quick Find views (querytype=4) cannot be updated via the Dataverse Web API — ` +
40
+ `fetchxml PATCH hard-fails with 0x80040216, and name/layoutxml PATCH return 204 but are silently discarded. ` +
41
+ `Rejected fields in this update: ${fields}. ` +
42
+ `Allowed fields on a Quick Find view: description, isdefault. ` +
43
+ `Workaround: edit the Quick Find view${entity} in the maker portal (Solutions → your solution → the table → Views → "Quick Find Active ..."), then Save & Publish. ` +
44
+ `This is a Dataverse platform limitation, not an MCP-side issue — same 400 occurs on any direct savedqueries PATCH.`);
45
+ }
46
+ }
25
47
  const headers = solutionUniqueName
26
48
  ? { 'MSCRM.SolutionUniqueName': solutionUniqueName }
27
49
  : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewService.js","sourceRoot":"","sources":["../../src/services/ViewService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;IAEnD;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,IAA6B,EAC7B,kBAA2B;QAE3B,MAAM,OAAO,GAAuC,kBAAkB;YACpE,CAAC,CAAC,EAAE,0BAA0B,EAAE,kBAAkB,EAAE;YACpD,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5B,4BAA4B,EAC5B,MAAM,EACN,IAAI,EACJ,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,MAAc,EACd,OAAgC,EAChC,kBAA2B;QAE3B,MAAM,OAAO,GAAuC,kBAAkB;YACpE,CAAC,CAAC,EAAE,0BAA0B,EAAE,kBAAkB,EAAE;YACpD,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC3B,8BAA8B,MAAM,GAAG,EACvC,OAAO,EACP,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC3B,8BAA8B,MAAM,GAAG,EACvC,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,iBAAyB;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5B,2DAA2D,iBAAiB,sBAAsB,CACnG,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC3B,8BAA8B,MAAM,GAAG,EACvC,OAAO,EACP,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5B,8BAA8B,MAAM,oDAAoD,CACzF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"ViewService.js","sourceRoot":"","sources":["../../src/services/ViewService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;IAEnD;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,IAA6B,EAC7B,kBAA2B;QAE3B,MAAM,OAAO,GAAuC,kBAAkB;YACpE,CAAC,CAAC,EAAE,0BAA0B,EAAE,kBAAkB,EAAE;YACpD,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5B,4BAA4B,EAC5B,MAAM,EACN,IAAI,EACJ,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,UAAU,CACd,MAAc,EACd,OAAgC,EAChC,kBAA2B;QAE3B,MAAM,qBAAqB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAU,CAAC;QACvF,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACtG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5C,8BAA8B,MAAM,sCAAsC,CAC3E,CAAC;YACF,IAAI,QAAQ,EAAE,SAAS,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,QAAQ,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7F,MAAM,IAAI,KAAK,CACb,+EAA+E;oBAC/E,6GAA6G;oBAC7G,mCAAmC,MAAM,IAAI;oBAC7C,+DAA+D;oBAC/D,uCAAuC,MAAM,uHAAuH;oBACpK,oHAAoH,CACrH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAuC,kBAAkB;YACpE,CAAC,CAAC,EAAE,0BAA0B,EAAE,kBAAkB,EAAE;YACpD,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC3B,8BAA8B,MAAM,GAAG,EACvC,OAAO,EACP,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC3B,8BAA8B,MAAM,GAAG,EACvC,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,iBAAyB;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5B,2DAA2D,iBAAiB,sBAAsB,CACnG,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC3B,8BAA8B,MAAM,GAAG,EACvC,OAAO,EACP,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5B,8BAA8B,MAAM,oDAAoD,CACzF,CAAC;IACJ,CAAC;CACF"}
@@ -30,6 +30,8 @@ export type { PluginTypeInfo, CreatePluginAssemblyOptions, RegisterPluginStepOpt
30
30
  export { AppManagementService } from './AppManagementService.js';
31
31
  export { WorkflowManagementService } from './WorkflowManagementService.js';
32
32
  export type { WorkflowStateResult, DescriptionUpdateResult, AutomationAnalysis, DocumentWorkflowSafeResult, CreateFlowFromDefinitionOptions, CreateFlowFromDefinitionResult, FlowClientDataValidation, FlowTemplateType, FlowDefinitionTemplate, } from './WorkflowManagementService.js';
33
+ export { FieldSecurityService } from './FieldSecurityService.js';
34
+ export type { FieldPermissionValue, FieldSecurityProfileSummary, FieldSecurityProfileDetail, FieldPermissionRecord, SecuredColumnInfo, } from './FieldSecurityService.js';
33
35
  export { ServiceEndpointService } from './ServiceEndpointService.js';
34
36
  export type { CreateServiceEndpointOptions, UpdateServiceEndpointOptions, ServiceEndpointCreateResult, RegisterWebhookOptions, RegisterWebhookResult, } from './ServiceEndpointService.js';
35
37
  export { IntegrationAuditService } from './IntegrationAuditService.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,YAAY,EACV,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,4BAA4B,EAC5B,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EACV,cAAc,EACd,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EACV,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,+BAA+B,EAC/B,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,8 @@ export { WebResourceService } from './WebResourceService.js';
30
30
  export { PluginDeploymentService } from './PluginDeploymentService.js';
31
31
  export { AppManagementService } from './AppManagementService.js';
32
32
  export { WorkflowManagementService } from './WorkflowManagementService.js';
33
+ // Field Security (for powerplatform + powerplatform-customization packages)
34
+ export { FieldSecurityService } from './FieldSecurityService.js';
33
35
  // Service Endpoint Management (for powerplatform-customization package)
34
36
  export { ServiceEndpointService } from './ServiceEndpointService.js';
35
37
  // Integration Audit Service
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,qBAAqB;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAK7E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAS/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,iDAAiD;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,mEAAmE;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,0FAA0F;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAUvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAa3E,wEAAwE;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AASrE,4BAA4B;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,qBAAqB;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAK7E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAS/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,iDAAiD;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,mEAAmE;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,0FAA0F;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAUvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAa3E,4EAA4E;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AASjE,wEAAwE;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AASrE,4BAA4B;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-consultant-tools/powerplatform-core",
3
- "version": "30.0.0-beta.3",
3
+ "version": "30.0.0-beta.6",
4
4
  "description": "Shared core infrastructure for PowerPlatform MCP packages - authentication, HTTP client, and modular services",
5
5
  "type": "module",
6
6
  "main": "./build/index.js",