sophos-central-mcp-server 0.7.1 → 0.8.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/README.md +11 -8
- package/dist/tools/directory.d.ts.map +1 -1
- package/dist/tools/directory.js +1 -0
- package/dist/tools/directory.js.map +1 -1
- package/dist/tools/groups.d.ts.map +1 -1
- package/dist/tools/groups.js +1 -0
- package/dist/tools/groups.js.map +1 -1
- package/dist/tools/policies.d.ts +50 -1
- package/dist/tools/policies.d.ts.map +1 -1
- package/dist/tools/policies.js +321 -32
- package/dist/tools/policies.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
> Sophos. It calls the public Sophos APIs using credentials you supply. Use it at your own
|
|
6
6
|
> risk, and raise problems as issues on this repository rather than with Sophos support.
|
|
7
7
|
|
|
8
|
-
MCP (Model Context Protocol) server for the Sophos Fusion and Sophos Central APIs. Supports partner, organisation, and single-tenant credential types with automatic region routing. **
|
|
8
|
+
MCP (Model Context Protocol) server for the Sophos Fusion and Sophos Central APIs. Supports partner, organisation, and single-tenant credential types with automatic region routing. **311 tools** covering 22 Sophos API namespaces: the Sophos Central REST APIs plus the Sophos Fusion GraphQL APIs (`sophos_fusion_*`). Install it as a Claude Desktop extension (`.mcpb`), run it with npx, or host it yourself over streamable HTTP.
|
|
9
9
|
|
|
10
10
|
The npm package, the `.mcpb` bundle and the binaries keep the `sophos-central-mcp-server` name so existing installs update in place.
|
|
11
11
|
|
|
@@ -168,7 +168,7 @@ The script:
|
|
|
168
168
|
npm test
|
|
169
169
|
```
|
|
170
170
|
|
|
171
|
-
Builds, then runs the `node:test` suites in `test/` with `fetch` stubbed: the Fusion GraphQL transport (including the HTTP 200 with `errors` case), the QL builder, the reference-data cache, and the path-keyed retry for the intermittent case-write fault, the migration guard, a registration check that lists all
|
|
171
|
+
Builds, then runs the `node:test` suites in `test/` with `fetch` stubbed: the Fusion GraphQL transport (including the HTTP 200 with `errors` case), the QL builder, the reference-data cache, and the path-keyed retry for the intermittent case-write fault, the migration guard, the policy assignment writes (body shapes, refusals and read-back) against an in-memory policy store, a registration check that lists all 311 tools over an in-memory transport and checks the descriptions for the measured warnings, the `SOPHOS_FUSION_GRAPHQL_URL` check, and the HTTP transport (Origin guard, bearer token, listen address, concurrent calls) run against an in-memory Sophos. Nothing in `npm test` reaches Sophos.
|
|
172
172
|
|
|
173
173
|
To exercise the Fusion tools against a live tenant, put credentials in `.env` (or export them) and run:
|
|
174
174
|
|
|
@@ -196,7 +196,7 @@ It spawns the built server over stdio and calls the tools through an MCP client,
|
|
|
196
196
|
- **One-click install**: Ships as a Claude Desktop extension (`.mcpb`) with credentials held in the OS secure store
|
|
197
197
|
- **Two API generations**: the Sophos Central REST APIs and the Sophos Fusion GraphQL APIs on one credential, with `sophos_fusion_*` tools for the GraphQL side
|
|
198
198
|
- **Migration aware**: the Classic case and detection tools refuse a tenant that has moved to Sophos Fusion and name the `sophos_fusion_*` tool to use instead
|
|
199
|
-
- **Full API coverage**:
|
|
199
|
+
- **Full API coverage**: 311 tools across endpoints, alerts, policies, firewalls, web filtering, licensing, audit events, email, mobile, XDR, cases, SIEM, and more
|
|
200
200
|
|
|
201
201
|
## Screenshots
|
|
202
202
|
|
|
@@ -353,17 +353,20 @@ Two Fusion case writes, `createCase` and `addEvidenceToCase`, fail 74% of the ti
|
|
|
353
353
|
| `sophos_list_recommended_packages` | List recommended software packages |
|
|
354
354
|
| `sophos_list_static_packages` | List static software packages |
|
|
355
355
|
|
|
356
|
-
### Policies (
|
|
356
|
+
### Policies (7 tools)
|
|
357
357
|
|
|
358
358
|
| Tool | Description |
|
|
359
359
|
|------|-------------|
|
|
360
360
|
| `sophos_list_policies` | List endpoint policies with optional type filter |
|
|
361
|
-
| `sophos_get_policy` | Get full policy detail including all settings |
|
|
362
|
-
| `sophos_create_policy` | Create a new endpoint policy |
|
|
361
|
+
| `sophos_get_policy` | Get full policy detail including all settings and assignments |
|
|
362
|
+
| `sophos_create_policy` | Create a new endpoint policy, optionally assigned |
|
|
363
363
|
| `sophos_clone_policy` | Clone an existing policy under a new name |
|
|
364
|
-
| `sophos_update_policy` | Update policy name, enabled state, priority, or
|
|
364
|
+
| `sophos_update_policy` | Update policy name, enabled state, priority, settings, or the whole assignment |
|
|
365
|
+
| `sophos_set_policy_assignments` | Replace, add or remove a policy's users, user groups, endpoints or endpoint groups |
|
|
365
366
|
| `sophos_delete_policy` | Delete a policy |
|
|
366
367
|
|
|
368
|
+
Assignments take plain ID arrays. A policy applies either to users and user groups (a user policy) or to endpoints and endpoint groups (a device policy), never both; the kind follows which keys you send. Server policies take only endpoints and endpoint groups. Endpoint groups are always sent with an `endpoints` key, because Sophos answers 500 to endpoint groups on their own. Every assignment write is read back by ID and the result shows what Sophos stored. A new policy can take up to about 25 seconds to show in `sophos_list_policies`; `sophos_get_policy` is current at once.
|
|
369
|
+
|
|
367
370
|
### Endpoint Groups (7 tools)
|
|
368
371
|
|
|
369
372
|
| Tool | Description |
|
|
@@ -806,7 +809,7 @@ src/
|
|
|
806
809
|
│ ├── health.ts # Account health, gap analysis
|
|
807
810
|
│ ├── directory.ts # Users, user groups, group membership
|
|
808
811
|
│ ├── admin-management.ts # Admin CRUD, roles, permission sets
|
|
809
|
-
│ ├── policies.ts # Policy CRUD, clone
|
|
812
|
+
│ ├── policies.ts # Policy CRUD, clone, assignments
|
|
810
813
|
│ ├── groups.ts # Endpoint group CRUD, membership
|
|
811
814
|
│ ├── exclusions.ts # Scanning exclusions, allowed/blocked items
|
|
812
815
|
│ ├── cases.ts # Investigation cases, detections, MITRE
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../../src/tools/directory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAyBnE,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,cAAc,GAC7B,IAAI,
|
|
1
|
+
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../../src/tools/directory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAyBnE,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,cAAc,GAC7B,IAAI,CA0/BN"}
|
package/dist/tools/directory.js
CHANGED
|
@@ -490,6 +490,7 @@ Returns:
|
|
|
490
490
|
description: `Create a new directory user group in a Sophos Central tenant.
|
|
491
491
|
|
|
492
492
|
User groups organise users for policy assignment and management.
|
|
493
|
+
Assign a policy to a user group with sophos_set_policy_assignments (user_groups).
|
|
493
494
|
|
|
494
495
|
Args:
|
|
495
496
|
- name (string): Group name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/tools/directory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/tools/directory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/tools/groups.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAmBnE,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,cAAc,GAC7B,IAAI,
|
|
1
|
+
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/tools/groups.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAmBnE,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,cAAc,GAC7B,IAAI,CAwYN"}
|
package/dist/tools/groups.js
CHANGED
|
@@ -128,6 +128,7 @@ Args:
|
|
|
128
128
|
description: `Create a new endpoint group.
|
|
129
129
|
|
|
130
130
|
Groups are used to organise devices and assign policies at the group level.
|
|
131
|
+
Assign a policy to a group with sophos_set_policy_assignments (endpoint_groups).
|
|
131
132
|
|
|
132
133
|
Args:
|
|
133
134
|
- name (string): Group name.
|
package/dist/tools/groups.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groups.js","sourceRoot":"","sources":["../../src/tools/groups.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"groups.js","sourceRoot":"","sources":["../../src/tools/groups.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/policies.d.ts
CHANGED
|
@@ -1,10 +1,59 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tools: sophos_list_policies, sophos_get_policy, sophos_update_policy, sophos_clone_policy,
|
|
3
|
-
* sophos_create_policy, sophos_delete_policy
|
|
3
|
+
* sophos_create_policy, sophos_delete_policy, sophos_set_policy_assignments
|
|
4
4
|
* Interact with the Sophos Endpoint API /endpoint/v1/policies
|
|
5
|
+
*
|
|
6
|
+
* Assignment (appliesTo) rules measured on a live tenant, 13/10/2026:
|
|
7
|
+
* - appliesTo holds plain ID arrays under users and userGroups (a user policy)
|
|
8
|
+
* or endpoints and endpointGroups (a device policy). There is no type field;
|
|
9
|
+
* the kind follows which keys appliesTo carries. {id} objects get a 400.
|
|
10
|
+
* - Mixing user and device keys gets a 400. Server policies take device keys only.
|
|
11
|
+
* - endpointGroups without an endpoints key gets a 500 "Error processing data"
|
|
12
|
+
* on POST and PATCH; {endpoints: [], endpointGroups: [id]} works.
|
|
13
|
+
* - PATCH replaces the whole assignment: a family key left out comes back empty.
|
|
14
|
+
* - A new policy reaches the list 1.6 to 21.8 s after creation; GET by ID works at once.
|
|
5
15
|
*/
|
|
6
16
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
7
17
|
import type { SophosClient } from "../client/sophos-client.js";
|
|
8
18
|
import type { TenantResolver } from "../client/tenant-resolver.js";
|
|
19
|
+
/** A policy's assignment in one family, as the tools name the keys. */
|
|
20
|
+
export type PolicyAssignment = {
|
|
21
|
+
kind: "user";
|
|
22
|
+
users: string[];
|
|
23
|
+
user_groups: string[];
|
|
24
|
+
} | {
|
|
25
|
+
kind: "device";
|
|
26
|
+
endpoints: string[];
|
|
27
|
+
endpoint_groups: string[];
|
|
28
|
+
};
|
|
29
|
+
export interface AssignmentArgs {
|
|
30
|
+
users?: string[];
|
|
31
|
+
user_groups?: string[];
|
|
32
|
+
endpoints?: string[];
|
|
33
|
+
endpoint_groups?: string[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The family the caller's assignment keys belong to, or undefined when none
|
|
37
|
+
* was passed. Throws, before anything is sent, when user and device keys are
|
|
38
|
+
* mixed (Sophos answers 400) or user keys are aimed at a server policy.
|
|
39
|
+
*/
|
|
40
|
+
export declare function requestedAssignmentKind(args: AssignmentArgs, policyType?: string): "user" | "device" | undefined;
|
|
41
|
+
/** Server policies apply only to endpoints and endpoint groups. */
|
|
42
|
+
export declare function assertUserAssignable(policyType: string | undefined): void;
|
|
43
|
+
/** The whole assignment the caller asked for; keys left out are empty. */
|
|
44
|
+
export declare function assignmentFromArgs(kind: "user" | "device", args: AssignmentArgs): PolicyAssignment;
|
|
45
|
+
export declare function emptyAssignment(kind: "user" | "device"): PolicyAssignment;
|
|
46
|
+
/**
|
|
47
|
+
* The appliesTo body for an assignment. Both keys of the family are always
|
|
48
|
+
* sent, so endpointGroups never travels without endpoints (that shape gets a
|
|
49
|
+
* 500), and the body says exactly what the stored assignment will be.
|
|
50
|
+
*/
|
|
51
|
+
export declare function toAppliesTo(a: PolicyAssignment): Record<string, string[]>;
|
|
52
|
+
/**
|
|
53
|
+
* Reads a policy's stored appliesTo. Sophos returns plain ID arrays; an
|
|
54
|
+
* {id} object is read too. Returns null when appliesTo carries neither family.
|
|
55
|
+
*/
|
|
56
|
+
export declare function storedAssignment(appliesTo: unknown): PolicyAssignment | null;
|
|
57
|
+
export declare function sameAssignment(a: PolicyAssignment | null, b: PolicyAssignment | null): boolean;
|
|
9
58
|
export declare function registerPolicyTools(server: McpServer, client: SophosClient, tenantResolver: TenantResolver): void;
|
|
10
59
|
//# sourceMappingURL=policies.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../src/tools/policies.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../src/tools/policies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAmBnE,uEAAuE;AACvE,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAuBD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,cAAc,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,GAAG,QAAQ,GAAG,SAAS,CAa/B;AAED,mEAAmE;AACnE,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAMzE;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAIlG;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,gBAAgB,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAIzE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAqB5E;AAMD,wBAAgB,cAAc,CAAC,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAAE,CAAC,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAK9F;AA4CD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,cAAc,GAC7B,IAAI,CA2eN"}
|
package/dist/tools/policies.js
CHANGED
|
@@ -1,11 +1,156 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tools: sophos_list_policies, sophos_get_policy, sophos_update_policy, sophos_clone_policy,
|
|
3
|
-
* sophos_create_policy, sophos_delete_policy
|
|
3
|
+
* sophos_create_policy, sophos_delete_policy, sophos_set_policy_assignments
|
|
4
4
|
* Interact with the Sophos Endpoint API /endpoint/v1/policies
|
|
5
|
+
*
|
|
6
|
+
* Assignment (appliesTo) rules measured on a live tenant, 13/10/2026:
|
|
7
|
+
* - appliesTo holds plain ID arrays under users and userGroups (a user policy)
|
|
8
|
+
* or endpoints and endpointGroups (a device policy). There is no type field;
|
|
9
|
+
* the kind follows which keys appliesTo carries. {id} objects get a 400.
|
|
10
|
+
* - Mixing user and device keys gets a 400. Server policies take device keys only.
|
|
11
|
+
* - endpointGroups without an endpoints key gets a 500 "Error processing data"
|
|
12
|
+
* on POST and PATCH; {endpoints: [], endpointGroups: [id]} works.
|
|
13
|
+
* - PATCH replaces the whole assignment: a family key left out comes back empty.
|
|
14
|
+
* - A new policy reaches the list 1.6 to 21.8 s after creation; GET by ID works at once.
|
|
5
15
|
*/
|
|
6
16
|
import { z } from "zod";
|
|
7
17
|
import { jsonResult, withErrorHandling } from "./helpers.js";
|
|
8
18
|
import { DEFAULT_PAGE_SIZE } from "../config/config.js";
|
|
19
|
+
const assignmentInputSchema = {
|
|
20
|
+
users: z
|
|
21
|
+
.array(z.string().uuid())
|
|
22
|
+
.optional()
|
|
23
|
+
.describe("User IDs (makes it a user policy). Plain ID strings."),
|
|
24
|
+
user_groups: z
|
|
25
|
+
.array(z.string().uuid())
|
|
26
|
+
.optional()
|
|
27
|
+
.describe("Directory user group IDs (makes it a user policy). Plain ID strings."),
|
|
28
|
+
endpoints: z
|
|
29
|
+
.array(z.string().uuid())
|
|
30
|
+
.optional()
|
|
31
|
+
.describe("Endpoint IDs (makes it a device policy). Plain ID strings."),
|
|
32
|
+
endpoint_groups: z
|
|
33
|
+
.array(z.string().uuid())
|
|
34
|
+
.optional()
|
|
35
|
+
.describe("Endpoint group IDs (makes it a device policy). Plain ID strings."),
|
|
36
|
+
};
|
|
37
|
+
const uniq = (ids) => [...new Set(ids ?? [])];
|
|
38
|
+
/**
|
|
39
|
+
* The family the caller's assignment keys belong to, or undefined when none
|
|
40
|
+
* was passed. Throws, before anything is sent, when user and device keys are
|
|
41
|
+
* mixed (Sophos answers 400) or user keys are aimed at a server policy.
|
|
42
|
+
*/
|
|
43
|
+
export function requestedAssignmentKind(args, policyType) {
|
|
44
|
+
const user = args.users !== undefined || args.user_groups !== undefined;
|
|
45
|
+
const device = args.endpoints !== undefined || args.endpoint_groups !== undefined;
|
|
46
|
+
if (user && device) {
|
|
47
|
+
throw new Error("A policy applies either to users and user groups (a user policy) or to endpoints and endpoint groups (a device policy), never both. Pass users/user_groups or endpoints/endpoint_groups, not a mix. Nothing was sent.");
|
|
48
|
+
}
|
|
49
|
+
if (user) {
|
|
50
|
+
assertUserAssignable(policyType);
|
|
51
|
+
return "user";
|
|
52
|
+
}
|
|
53
|
+
return device ? "device" : undefined;
|
|
54
|
+
}
|
|
55
|
+
/** Server policies apply only to endpoints and endpoint groups. */
|
|
56
|
+
export function assertUserAssignable(policyType) {
|
|
57
|
+
if (policyType?.startsWith("server-")) {
|
|
58
|
+
throw new Error(`Policy type ${policyType} applies only to endpoints and endpoint groups. Use endpoints or endpoint_groups, not users or user_groups. Nothing was written.`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/** The whole assignment the caller asked for; keys left out are empty. */
|
|
62
|
+
export function assignmentFromArgs(kind, args) {
|
|
63
|
+
return kind === "user"
|
|
64
|
+
? { kind, users: uniq(args.users), user_groups: uniq(args.user_groups) }
|
|
65
|
+
: { kind, endpoints: uniq(args.endpoints), endpoint_groups: uniq(args.endpoint_groups) };
|
|
66
|
+
}
|
|
67
|
+
export function emptyAssignment(kind) {
|
|
68
|
+
return assignmentFromArgs(kind, {});
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* The appliesTo body for an assignment. Both keys of the family are always
|
|
72
|
+
* sent, so endpointGroups never travels without endpoints (that shape gets a
|
|
73
|
+
* 500), and the body says exactly what the stored assignment will be.
|
|
74
|
+
*/
|
|
75
|
+
export function toAppliesTo(a) {
|
|
76
|
+
return a.kind === "user"
|
|
77
|
+
? { users: a.users, userGroups: a.user_groups }
|
|
78
|
+
: { endpoints: a.endpoints, endpointGroups: a.endpoint_groups };
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Reads a policy's stored appliesTo. Sophos returns plain ID arrays; an
|
|
82
|
+
* {id} object is read too. Returns null when appliesTo carries neither family.
|
|
83
|
+
*/
|
|
84
|
+
export function storedAssignment(appliesTo) {
|
|
85
|
+
if (!appliesTo || typeof appliesTo !== "object")
|
|
86
|
+
return null;
|
|
87
|
+
const raw = appliesTo;
|
|
88
|
+
const ids = (key) => {
|
|
89
|
+
const value = raw[key];
|
|
90
|
+
if (!Array.isArray(value))
|
|
91
|
+
return [];
|
|
92
|
+
return value
|
|
93
|
+
.map((e) => (typeof e === "string" ? e : e?.id))
|
|
94
|
+
.filter((id) => typeof id === "string");
|
|
95
|
+
};
|
|
96
|
+
const hasUser = "users" in raw || "userGroups" in raw;
|
|
97
|
+
const hasDevice = "endpoints" in raw || "endpointGroups" in raw;
|
|
98
|
+
const device = {
|
|
99
|
+
kind: "device",
|
|
100
|
+
endpoints: ids("endpoints"),
|
|
101
|
+
endpoint_groups: ids("endpointGroups"),
|
|
102
|
+
};
|
|
103
|
+
if (hasDevice && (!hasUser || device.endpoints.length + device.endpoint_groups.length > 0)) {
|
|
104
|
+
return device;
|
|
105
|
+
}
|
|
106
|
+
return hasUser ? { kind: "user", users: ids("users"), user_groups: ids("userGroups") } : null;
|
|
107
|
+
}
|
|
108
|
+
function assignmentLists(a) {
|
|
109
|
+
return a.kind === "user" ? [a.users, a.user_groups] : [a.endpoints, a.endpoint_groups];
|
|
110
|
+
}
|
|
111
|
+
export function sameAssignment(a, b) {
|
|
112
|
+
if (!a || !b || a.kind !== b.kind)
|
|
113
|
+
return false;
|
|
114
|
+
const left = assignmentLists(a);
|
|
115
|
+
const right = assignmentLists(b);
|
|
116
|
+
return left.every((ids, i) => ids.length === right[i].length && ids.every((id) => right[i].includes(id)));
|
|
117
|
+
}
|
|
118
|
+
function assignmentSize(a) {
|
|
119
|
+
return assignmentLists(a).reduce((n, ids) => n + ids.length, 0);
|
|
120
|
+
}
|
|
121
|
+
/** Per-key counts for list output. */
|
|
122
|
+
function assignmentCounts(a) {
|
|
123
|
+
if (!a)
|
|
124
|
+
return { kind: null };
|
|
125
|
+
return a.kind === "user"
|
|
126
|
+
? { kind: a.kind, users: a.users.length, user_groups: a.user_groups.length }
|
|
127
|
+
: { kind: a.kind, endpoints: a.endpoints.length, endpoint_groups: a.endpoint_groups.length };
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Reads the policy back by ID (the list lags by up to about 22 s; GET by ID
|
|
131
|
+
* does not) and reports what Sophos stored against what was sent.
|
|
132
|
+
*/
|
|
133
|
+
async function readBackAssignment(client, tenantId, policyId, sent) {
|
|
134
|
+
try {
|
|
135
|
+
const policy = await client.tenantRequest(tenantId, `/endpoint/v1/policies/${policyId}`);
|
|
136
|
+
const stored = storedAssignment(policy.appliesTo);
|
|
137
|
+
const matches = sameAssignment(sent, stored);
|
|
138
|
+
return {
|
|
139
|
+
assignment_stored: stored,
|
|
140
|
+
assignment_matches: matches,
|
|
141
|
+
...(matches
|
|
142
|
+
? {}
|
|
143
|
+
: { warning: "The stored assignment differs from what was sent. assignment_stored is what Sophos holds." }),
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
return {
|
|
148
|
+
assignment_stored: null,
|
|
149
|
+
assignment_matches: null,
|
|
150
|
+
warning: `The write succeeded but the read-back failed: ${error instanceof Error ? error.message : String(error)}. Check with sophos_get_policy.`,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
}
|
|
9
154
|
export function registerPolicyTools(server, client, tenantResolver) {
|
|
10
155
|
// --- List Policies ---
|
|
11
156
|
server.registerTool("sophos_list_policies", {
|
|
@@ -26,7 +171,12 @@ Args:
|
|
|
26
171
|
|
|
27
172
|
Returns:
|
|
28
173
|
Paginated list of policies with: id, name, type, enabled, priority, enforced,
|
|
29
|
-
|
|
174
|
+
applies_to (kind plus counts). kind is user (users, user_groups) or device
|
|
175
|
+
(endpoints, endpoint_groups); it follows which keys the assignment carries.
|
|
176
|
+
|
|
177
|
+
Listing lag: a policy created in the last 25 seconds or so may be missing here
|
|
178
|
+
(measured 1.6 to 21.8 s), and a deleted one can linger for as long. Use
|
|
179
|
+
sophos_get_policy by ID, which is current at once, rather than re-listing.`,
|
|
30
180
|
inputSchema: {
|
|
31
181
|
tenant_id: z
|
|
32
182
|
.string()
|
|
@@ -80,6 +230,9 @@ Returns:
|
|
|
80
230
|
description: `Get full details of a specific endpoint policy including all settings.
|
|
81
231
|
|
|
82
232
|
Returns the complete policy configuration, assignments, and individual settings.
|
|
233
|
+
applies_to_detail lists the assigned IDs and the kind: user (users, user_groups)
|
|
234
|
+
or device (endpoints, endpoint_groups). There is no type field; the kind follows
|
|
235
|
+
which keys the assignment carries. Current at once, unlike the policy list.
|
|
83
236
|
|
|
84
237
|
Args:
|
|
85
238
|
- policy_id (string): The policy ID.
|
|
@@ -111,8 +264,20 @@ Args:
|
|
|
111
264
|
WARNING: This modifies the policy configuration which affects all assigned
|
|
112
265
|
endpoints. Changes take effect on next agent check-in.
|
|
113
266
|
|
|
114
|
-
Supports updating: name, enabled state, priority, enforcement,
|
|
115
|
-
settings. Pass only the fields you want to change.
|
|
267
|
+
Supports updating: name, enabled state, priority, enforcement, individual
|
|
268
|
+
settings, and assignment. Pass only the fields you want to change.
|
|
269
|
+
|
|
270
|
+
Assignment: users, user_groups, endpoints and endpoint_groups (plain ID arrays)
|
|
271
|
+
REPLACE the policy's whole assignment. A key you leave out is emptied, and
|
|
272
|
+
device keys on a user policy turn it into a device policy (and back): the kind
|
|
273
|
+
follows which keys the assignment carries. To add or remove a few IDs without
|
|
274
|
+
restating the rest, use sophos_set_policy_assignments. Never mix user and
|
|
275
|
+
device keys; server policies (server-*) take only endpoints and
|
|
276
|
+
endpoint_groups. Both are refused before anything is written.
|
|
277
|
+
endpoint_groups is always sent with an endpoints key, because endpoint groups
|
|
278
|
+
on their own get a 500 from Sophos. After the write the policy is read back by
|
|
279
|
+
ID: assignment_stored is what Sophos holds and assignment_matches compares it
|
|
280
|
+
with assignment_sent.
|
|
116
281
|
|
|
117
282
|
Args:
|
|
118
283
|
- policy_id (string): The policy ID to update.
|
|
@@ -121,7 +286,8 @@ Args:
|
|
|
121
286
|
- enabled (boolean, optional): Enable/disable the policy.
|
|
122
287
|
- priority (number, optional): Policy priority (lower = higher priority).
|
|
123
288
|
- enforced (boolean, optional): Whether policy settings are enforced (cannot be overridden by lower-priority policies).
|
|
124
|
-
- settings (object, optional): Policy settings object to merge. Only include settings you want to change
|
|
289
|
+
- settings (object, optional): Policy settings object to merge. Only include settings you want to change.
|
|
290
|
+
- users, user_groups, endpoints, endpoint_groups (string arrays, optional): The new whole assignment.`,
|
|
125
291
|
inputSchema: {
|
|
126
292
|
policy_id: z.string().uuid().describe("Policy ID to update"),
|
|
127
293
|
tenant_id: z
|
|
@@ -144,6 +310,7 @@ Args:
|
|
|
144
310
|
.record(z.unknown())
|
|
145
311
|
.optional()
|
|
146
312
|
.describe("Policy settings to update (partial merge)"),
|
|
313
|
+
...assignmentInputSchema,
|
|
147
314
|
},
|
|
148
315
|
annotations: {
|
|
149
316
|
readOnlyHint: false,
|
|
@@ -151,8 +318,9 @@ Args:
|
|
|
151
318
|
idempotentHint: true,
|
|
152
319
|
openWorldHint: true,
|
|
153
320
|
},
|
|
154
|
-
}, withErrorHandling(async ({ policy_id, tenant_id, name, enabled, priority, enforced, settings }) => {
|
|
321
|
+
}, withErrorHandling(async ({ policy_id, tenant_id, name, enabled, priority, enforced, settings, ...assignmentArgs }) => {
|
|
155
322
|
const resolvedTenantId = tenantResolver.resolveTenantId(tenant_id);
|
|
323
|
+
const kind = requestedAssignmentKind(assignmentArgs);
|
|
156
324
|
const body = {};
|
|
157
325
|
if (name !== undefined)
|
|
158
326
|
body.name = name;
|
|
@@ -164,15 +332,27 @@ Args:
|
|
|
164
332
|
body.enforced = enforced;
|
|
165
333
|
if (settings !== undefined)
|
|
166
334
|
body.settings = settings;
|
|
167
|
-
if (Object.keys(body).length === 0) {
|
|
335
|
+
if (Object.keys(body).length === 0 && !kind) {
|
|
168
336
|
return jsonResult({
|
|
169
|
-
error: "No fields to update. Provide at least one of: name, enabled, priority, enforced, settings.",
|
|
337
|
+
error: "No fields to update. Provide at least one of: name, enabled, priority, enforced, settings, users, user_groups, endpoints, endpoint_groups.",
|
|
170
338
|
});
|
|
171
339
|
}
|
|
340
|
+
let sent;
|
|
341
|
+
if (kind) {
|
|
342
|
+
if (kind === "user") {
|
|
343
|
+
const current = await client.tenantRequest(resolvedTenantId, `/endpoint/v1/policies/${policy_id}`);
|
|
344
|
+
assertUserAssignable(current.type);
|
|
345
|
+
}
|
|
346
|
+
sent = assignmentFromArgs(kind, assignmentArgs);
|
|
347
|
+
body.appliesTo = toAppliesTo(sent);
|
|
348
|
+
}
|
|
172
349
|
const updated = await client.tenantRequest(resolvedTenantId, `/endpoint/v1/policies/${policy_id}`, { method: "PATCH", body });
|
|
173
350
|
return jsonResult({
|
|
174
351
|
status: "updated",
|
|
175
352
|
policy: formatPolicy(updated),
|
|
353
|
+
...(sent
|
|
354
|
+
? { assignment_sent: sent, ...(await readBackAssignment(client, resolvedTenantId, policy_id, sent)) }
|
|
355
|
+
: {}),
|
|
176
356
|
});
|
|
177
357
|
}));
|
|
178
358
|
// --- Clone Policy ---
|
|
@@ -216,13 +396,29 @@ Args:
|
|
|
216
396
|
title: "Create Sophos Policy",
|
|
217
397
|
description: `Create a new endpoint policy in Sophos Central.
|
|
218
398
|
|
|
399
|
+
Assignment (optional): users, user_groups, endpoints and endpoint_groups take
|
|
400
|
+
plain ID arrays. A policy applies either to users and user groups (a user
|
|
401
|
+
policy) or to endpoints and endpoint groups (a device policy), never both.
|
|
402
|
+
There is no type field: the kind follows which keys you send. A computer policy
|
|
403
|
+
created with no assignment is an unassigned user policy. Server policies
|
|
404
|
+
(server-*) take only endpoints and endpoint_groups. A mix, or user keys on a
|
|
405
|
+
server policy, is refused before anything is sent. endpoint_groups is always
|
|
406
|
+
sent with an endpoints key, because endpoint groups on their own get a 500 from
|
|
407
|
+
Sophos. With an assignment, the new policy is read back by ID: assignment_stored
|
|
408
|
+
is what Sophos holds and assignment_matches compares it with assignment_sent.
|
|
409
|
+
|
|
410
|
+
Listing lag: the new policy can take up to about 25 seconds to appear in
|
|
411
|
+
sophos_list_policies (measured 1.6 to 21.8 s). sophos_get_policy by ID works at
|
|
412
|
+
once, so check by ID rather than re-listing or creating it again.
|
|
413
|
+
|
|
219
414
|
Args:
|
|
220
415
|
- tenant_id (string, optional): Tenant ID. Required for partner/org callers.
|
|
221
416
|
- name (string): Policy name.
|
|
222
417
|
- type (string): Policy type e.g. "threat-protection", "peripheral-control", "web-control".
|
|
223
418
|
- enabled (boolean, optional): Whether the policy is enabled (default true).
|
|
224
419
|
- priority (number, optional): Policy priority (lower = higher priority).
|
|
225
|
-
- settings (object, optional): Policy settings object
|
|
420
|
+
- settings (object, optional): Policy settings object.
|
|
421
|
+
- users, user_groups, endpoints, endpoint_groups (string arrays, optional): Who or what the policy applies to.`,
|
|
226
422
|
inputSchema: {
|
|
227
423
|
tenant_id: z.string().uuid().optional().describe("Tenant ID. Required for partner/org callers."),
|
|
228
424
|
name: z.string().describe("Policy name"),
|
|
@@ -230,10 +426,12 @@ Args:
|
|
|
230
426
|
enabled: z.boolean().optional().describe("Whether the policy is enabled (default true)"),
|
|
231
427
|
priority: z.coerce.number().int().optional().describe("Policy priority (lower = higher priority)"),
|
|
232
428
|
settings: z.record(z.unknown()).optional().describe("Policy settings object"),
|
|
429
|
+
...assignmentInputSchema,
|
|
233
430
|
},
|
|
234
431
|
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true },
|
|
235
|
-
}, withErrorHandling(async ({ tenant_id, name, type, enabled, priority, settings }) => {
|
|
432
|
+
}, withErrorHandling(async ({ tenant_id, name, type, enabled, priority, settings, ...assignmentArgs }) => {
|
|
236
433
|
const resolvedTenantId = tenantResolver.resolveTenantId(tenant_id);
|
|
434
|
+
const kind = requestedAssignmentKind(assignmentArgs, type);
|
|
237
435
|
const body = { name, type };
|
|
238
436
|
if (enabled !== undefined)
|
|
239
437
|
body.enabled = enabled;
|
|
@@ -241,8 +439,17 @@ Args:
|
|
|
241
439
|
body.priority = priority;
|
|
242
440
|
if (settings !== undefined)
|
|
243
441
|
body.settings = settings;
|
|
442
|
+
const sent = kind ? assignmentFromArgs(kind, assignmentArgs) : undefined;
|
|
443
|
+
if (sent)
|
|
444
|
+
body.appliesTo = toAppliesTo(sent);
|
|
244
445
|
const created = await client.tenantRequest(resolvedTenantId, "/endpoint/v1/policies", { method: "POST", body });
|
|
245
|
-
return jsonResult({
|
|
446
|
+
return jsonResult({
|
|
447
|
+
status: "created",
|
|
448
|
+
policy: formatPolicy(created),
|
|
449
|
+
...(sent
|
|
450
|
+
? { assignment_sent: sent, ...(await readBackAssignment(client, resolvedTenantId, created.id, sent)) }
|
|
451
|
+
: {}),
|
|
452
|
+
});
|
|
246
453
|
}));
|
|
247
454
|
// --- Delete Policy ---
|
|
248
455
|
server.registerTool("sophos_delete_policy", {
|
|
@@ -265,6 +472,107 @@ Args:
|
|
|
265
472
|
await client.tenantRequest(resolvedTenantId, `/endpoint/v1/policies/${policy_id}`, { method: "DELETE" });
|
|
266
473
|
return jsonResult({ status: "deleted", policy_id, message: `Policy ${policy_id} deleted.` });
|
|
267
474
|
}));
|
|
475
|
+
// --- Set Policy Assignments ---
|
|
476
|
+
server.registerTool("sophos_set_policy_assignments", {
|
|
477
|
+
title: "Set Sophos Policy Assignments",
|
|
478
|
+
description: `Change only which users, user groups, endpoints or endpoint groups a policy applies to.
|
|
479
|
+
|
|
480
|
+
mode:
|
|
481
|
+
- replace: the IDs you pass become the whole assignment. Keys you leave out are emptied.
|
|
482
|
+
- add: the IDs are added to what the policy holds now.
|
|
483
|
+
- remove: the IDs are taken out. IDs that were not assigned are listed in not_assigned.
|
|
484
|
+
|
|
485
|
+
A policy is either a user policy (users, user_groups) or a device policy
|
|
486
|
+
(endpoints, endpoint_groups). There is no type field: the kind follows which
|
|
487
|
+
keys the assignment carries, so replace with device keys turns a user policy
|
|
488
|
+
into a device policy, and back. Never mix user and device keys in one call.
|
|
489
|
+
add refuses a kind change while the policy still has assignments of the other
|
|
490
|
+
kind; use replace for that. Server policies (server-*) take only endpoints and
|
|
491
|
+
endpoint_groups. Refusals happen before anything is written.
|
|
492
|
+
|
|
493
|
+
The policy is read first, written with one PATCH (none when nothing would
|
|
494
|
+
change), then read back by ID. The result shows assignment_before,
|
|
495
|
+
assignment_sent, assignment_stored (what Sophos holds) and assignment_matches.
|
|
496
|
+
endpoint_groups is always sent with an endpoints key, because endpoint groups
|
|
497
|
+
on their own get a 500 from Sophos. The policy list can lag a write by up to
|
|
498
|
+
about 25 seconds; sophos_get_policy by ID is current at once.
|
|
499
|
+
|
|
500
|
+
Args:
|
|
501
|
+
- policy_id (string): The policy ID.
|
|
502
|
+
- mode (string): "replace", "add" or "remove".
|
|
503
|
+
- users, user_groups, endpoints, endpoint_groups (string arrays, optional): IDs. At least one is required.
|
|
504
|
+
- tenant_id (string, optional): Tenant ID. Required for partner/org callers.`,
|
|
505
|
+
inputSchema: {
|
|
506
|
+
policy_id: z.string().uuid().describe("Policy ID"),
|
|
507
|
+
mode: z
|
|
508
|
+
.enum(["replace", "add", "remove"])
|
|
509
|
+
.describe("replace sets the whole assignment; add and remove change only the IDs passed"),
|
|
510
|
+
...assignmentInputSchema,
|
|
511
|
+
tenant_id: z.string().uuid().optional().describe("Tenant ID. Required for partner/org callers."),
|
|
512
|
+
},
|
|
513
|
+
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: true },
|
|
514
|
+
}, withErrorHandling(async ({ policy_id, mode, tenant_id, ...assignmentArgs }) => {
|
|
515
|
+
const resolvedTenantId = tenantResolver.resolveTenantId(tenant_id);
|
|
516
|
+
const kind = requestedAssignmentKind(assignmentArgs);
|
|
517
|
+
if (!kind) {
|
|
518
|
+
throw new Error("Pass at least one of users, user_groups, endpoints or endpoint_groups. Nothing was sent.");
|
|
519
|
+
}
|
|
520
|
+
const policy = await client.tenantRequest(resolvedTenantId, `/endpoint/v1/policies/${policy_id}`);
|
|
521
|
+
if (kind === "user")
|
|
522
|
+
assertUserAssignable(policy.type);
|
|
523
|
+
const before = storedAssignment(policy.appliesTo) ?? emptyAssignment(policy.type?.startsWith("server-") ? "device" : "user");
|
|
524
|
+
const request = assignmentFromArgs(kind, assignmentArgs);
|
|
525
|
+
const requestLists = assignmentLists(request);
|
|
526
|
+
const beforeLists = before.kind === kind ? assignmentLists(before) : [[], []];
|
|
527
|
+
let target;
|
|
528
|
+
let notAssigned;
|
|
529
|
+
if (mode === "replace") {
|
|
530
|
+
target = request;
|
|
531
|
+
}
|
|
532
|
+
else if (mode === "add") {
|
|
533
|
+
if (before.kind !== kind && assignmentSize(before) > 0) {
|
|
534
|
+
throw new Error(`Policy ${policy_id} is a ${before.kind} policy with ${assignmentSize(before)} assignment(s), and a policy cannot mix user and device assignments. Use mode "replace" to make it a ${kind} policy, which drops the current assignments. Nothing was written.`);
|
|
535
|
+
}
|
|
536
|
+
const [a, b] = requestLists.map((ids, i) => uniq([...beforeLists[i], ...ids]));
|
|
537
|
+
target = kind === "user" ? { kind, users: a, user_groups: b } : { kind, endpoints: a, endpoint_groups: b };
|
|
538
|
+
}
|
|
539
|
+
else {
|
|
540
|
+
if (before.kind !== kind) {
|
|
541
|
+
target = before;
|
|
542
|
+
notAssigned = request;
|
|
543
|
+
}
|
|
544
|
+
else {
|
|
545
|
+
const [a, b] = beforeLists.map((ids, i) => ids.filter((id) => !requestLists[i].includes(id)));
|
|
546
|
+
target = kind === "user" ? { kind, users: a, user_groups: b } : { kind, endpoints: a, endpoint_groups: b };
|
|
547
|
+
const [x, y] = requestLists.map((ids, i) => ids.filter((id) => !beforeLists[i].includes(id)));
|
|
548
|
+
if (x.length + y.length > 0) {
|
|
549
|
+
notAssigned =
|
|
550
|
+
kind === "user" ? { kind, users: x, user_groups: y } : { kind, endpoints: x, endpoint_groups: y };
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
const summary = {
|
|
555
|
+
policy_id,
|
|
556
|
+
name: policy.name,
|
|
557
|
+
type: policy.type,
|
|
558
|
+
mode,
|
|
559
|
+
assignment_before: before,
|
|
560
|
+
...(notAssigned ? { not_assigned: notAssigned } : {}),
|
|
561
|
+
};
|
|
562
|
+
if (sameAssignment(target, before)) {
|
|
563
|
+
return jsonResult({ status: "unchanged", ...summary, message: "Nothing to change, so nothing was written." });
|
|
564
|
+
}
|
|
565
|
+
await client.tenantRequest(resolvedTenantId, `/endpoint/v1/policies/${policy_id}`, {
|
|
566
|
+
method: "PATCH",
|
|
567
|
+
body: { appliesTo: toAppliesTo(target) },
|
|
568
|
+
});
|
|
569
|
+
return jsonResult({
|
|
570
|
+
status: "updated",
|
|
571
|
+
...summary,
|
|
572
|
+
assignment_sent: target,
|
|
573
|
+
...(await readBackAssignment(client, resolvedTenantId, policy_id, target)),
|
|
574
|
+
});
|
|
575
|
+
}));
|
|
268
576
|
}
|
|
269
577
|
function formatPolicy(p) {
|
|
270
578
|
return {
|
|
@@ -277,32 +585,13 @@ function formatPolicy(p) {
|
|
|
277
585
|
locked_by_partner: p.lockedByManagingAccount ?? false,
|
|
278
586
|
created_at: p.createdAt ?? null,
|
|
279
587
|
updated_at: p.updatedAt ?? null,
|
|
280
|
-
applies_to:
|
|
281
|
-
users_and_groups: p.appliesTo?.usersAndGroups?.length ?? 0,
|
|
282
|
-
endpoints: p.appliesTo?.endpoints?.length ?? 0,
|
|
283
|
-
endpoint_groups: p.appliesTo?.endpointGroups?.length ?? 0,
|
|
284
|
-
},
|
|
588
|
+
applies_to: assignmentCounts(storedAssignment(p.appliesTo)),
|
|
285
589
|
};
|
|
286
590
|
}
|
|
287
591
|
function formatPolicyDetailed(p) {
|
|
288
592
|
return {
|
|
289
593
|
...formatPolicy(p),
|
|
290
|
-
applies_to_detail:
|
|
291
|
-
users_and_groups: p.appliesTo?.usersAndGroups?.map((u) => ({
|
|
292
|
-
id: u.id,
|
|
293
|
-
name: u.name ?? null,
|
|
294
|
-
type: u.type,
|
|
295
|
-
})) ?? [],
|
|
296
|
-
endpoints: p.appliesTo?.endpoints?.map((e) => ({
|
|
297
|
-
id: e.id,
|
|
298
|
-
name: e.name ?? null,
|
|
299
|
-
type: e.type,
|
|
300
|
-
})) ?? [],
|
|
301
|
-
endpoint_groups: p.appliesTo?.endpointGroups?.map((g) => ({
|
|
302
|
-
id: g.id,
|
|
303
|
-
name: g.name ?? null,
|
|
304
|
-
})) ?? [],
|
|
305
|
-
},
|
|
594
|
+
applies_to_detail: storedAssignment(p.appliesTo),
|
|
306
595
|
settings: p.settings ?? {},
|
|
307
596
|
};
|
|
308
597
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policies.js","sourceRoot":"","sources":["../../src/tools/policies.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"policies.js","sourceRoot":"","sources":["../../src/tools/policies.ts"],"names":[],"mappings":"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"}
|