@knowttl/mg-axi 0.1.1 → 0.1.3
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 +251 -77
- package/dist/api.js +253 -8
- package/dist/bin/mg-axi-hook.js +31 -0
- package/dist/catalogue.js +693 -2
- package/dist/cli.js +155 -17
- package/dist/docs.js +175 -46
- package/dist/doctor.js +2 -2
- package/dist/entra-access-reviews.js +11 -4
- package/dist/entra-apps.js +171 -14
- package/dist/entra-audit-logs.js +101 -16
- package/dist/entra-auth-methods.js +8 -4
- package/dist/entra-certificate-auth.js +12 -8
- package/dist/entra-conditional-access.js +425 -15
- package/dist/entra-contacts.js +19 -12
- package/dist/entra-contracts.js +7 -4
- package/dist/entra-custom-security-attributes.js +19 -12
- package/dist/entra-data-policy-operations.js +7 -4
- package/dist/entra-delegated-admin.js +55 -6
- package/dist/entra-deleted-items.js +6 -4
- package/dist/entra-directory-objects.js +6 -4
- package/dist/entra-directory.js +19 -12
- package/dist/entra-domains.js +13 -8
- package/dist/entra-entitlement-management.js +12 -4
- package/dist/entra-federation-configurations.js +7 -4
- package/dist/entra-grants.js +8 -4
- package/dist/entra-group-lifecycle.js +13 -8
- package/dist/entra-group-pim.js +431 -0
- package/dist/entra-groups.js +13 -8
- package/dist/entra-identity-providers.js +7 -4
- package/dist/entra-lifecycle-workflows.js +152 -13
- package/dist/entra-multi-tenant-organization.js +7 -4
- package/dist/entra-on-premises-synchronization.js +6 -4
- package/dist/entra-organization.js +13 -8
- package/dist/entra-risk-prevention.js +442 -0
- package/dist/entra-risk.js +224 -9
- package/dist/entra-roles.js +204 -12
- package/dist/entra-subscriptions.js +6 -4
- package/dist/entra-terms-of-use.js +13 -8
- package/dist/entra-users.js +7 -4
- package/dist/graph-session.js +30 -5
- package/dist/hook.js +84 -0
- package/dist/list-totals.js +52 -0
- package/dist/setup.js +9 -1
- package/docs/coverage.md +743 -610
- package/inventory/operations.json +2 -2
- package/inventory/schema.json +1 -1
- package/package.json +4 -3
- package/skills/mg-axi/SKILL.md +86 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/inventory/operations.json
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 76161389 bytes
|
|
4
|
+
sha256: 8168ba7deefe03b569ac77a440ea027380710f7ea2f5a031795ff373ce9199a9
|
package/inventory/schema.json
CHANGED
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"roles": {"$ref": "#/$defs/evidence"},
|
|
60
60
|
"licences": {"$ref": "#/$defs/evidence"},
|
|
61
61
|
"cloudAvailability": {"$ref": "#/$defs/evidence"},
|
|
62
|
-
"disposition": {"enum": ["named-command", "reviewed-raw-read", "scheduled", "intentionally-blocked", "deprecated", "unavailable", "excluded"]},
|
|
62
|
+
"disposition": {"enum": ["named-command", "reviewed-raw-read", "scheduled", "deferred", "intentionally-blocked", "deprecated", "unavailable", "excluded"]},
|
|
63
63
|
"reason": {"$ref": "#/$defs/text"},
|
|
64
64
|
"owningSlice": {"enum": [null, "READ-01", "READ-02", "READ-03", "READ-04", "READ-05", "READ-06", "READ-07", "READ-08", "READ-09", "READ-10", "EXT-01", "EXT-02", "EXT-02c", "EXT-03", "EXT-04", "WRITE-01", "WRITE-02", "WRITE-03", "WRITE-04", "WRITE-05", "WRITE-N"]}
|
|
65
65
|
},
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knowttl/mg-axi",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Agent-facing Microsoft Graph CLI, read-only by default",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"mg-axi": "dist/bin/mg-axi.js"
|
|
7
|
+
"mg-axi": "dist/bin/mg-axi.js",
|
|
8
|
+
"mg-axi-hook": "dist/bin/mg-axi-hook.js"
|
|
8
9
|
},
|
|
9
10
|
"publishConfig": {
|
|
10
11
|
"access": "public"
|
|
@@ -27,7 +28,7 @@
|
|
|
27
28
|
"packageManager": "pnpm@10.34.6",
|
|
28
29
|
"scripts": {
|
|
29
30
|
"build": "tsc -p tsconfig.json",
|
|
30
|
-
"test": "node --test test/*.test.mjs",
|
|
31
|
+
"test": "node --test --test-concurrency=4 test/*.test.mjs",
|
|
31
32
|
"lint": "tsc --noEmit -p tsconfig.json",
|
|
32
33
|
"docs:generate": "node tools/generate-docs.mjs",
|
|
33
34
|
"docs:check": "node tools/generate-docs.mjs --check"
|
package/skills/mg-axi/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mg-axi
|
|
3
3
|
description: >
|
|
4
|
-
Inspect Microsoft Entra users, authentication methods, groups, roles, devices, administrative units, organization and branding, domains and DNS records, certificate authentication, commercial subscriptions, on-premises synchronization, terms-of-use agreements and acceptances, directory objects, organizational contacts, group lifecycle policies, group setting templates, attribute sets and custom security attributes, partner contracts, delegated administration, multi-tenant organization, tenant information, sign-ins and audit logs, applications and consent grants, risk, Conditional Access, identity providers, federation configurations, deleted directory items, data policy operations, access reviews, entitlement catalogs and access packages, entitlement assignments and requests, lifecycle workflows, templates, task definitions, settings, runs, processing results and task reports, reviewed raw reads and run 5 gated writes (account enable/disable, session revocation, group-membership add, risky-user dismissal, CA policy update) through token-efficient TOON output.
|
|
4
|
+
Inspect Microsoft Entra users, authentication methods, groups, roles, devices, administrative units, organization and branding, domains and DNS records, certificate authentication, commercial subscriptions, on-premises synchronization, terms-of-use agreements and acceptances, directory objects, organizational contacts, group lifecycle policies, group setting templates, attribute sets and custom security attributes, partner contracts, delegated administration, multi-tenant organization, tenant information, sign-ins and audit logs, applications and consent grants, risk, Conditional Access, identity providers, federation configurations, deleted directory items, data policy operations, risk prevention, access reviews, entitlement catalogs and access packages, entitlement assignments and requests, lifecycle workflows, templates, task definitions, settings, runs, processing results and task reports, reviewed raw reads and run 5 gated writes (account enable/disable, session revocation, group-membership add, risky-user dismissal, CA policy update) through token-efficient TOON output.
|
|
5
5
|
user-invocable: false
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -38,6 +38,7 @@ See `docs/coverage.md` for the per-operation disposition records.
|
|
|
38
38
|
| `mg-axi profile show` | native | local |
|
|
39
39
|
| `mg-axi login` | native | local |
|
|
40
40
|
| `mg-axi setup` | native | local |
|
|
41
|
+
| `mg-axi setup hooks` | native | local |
|
|
41
42
|
| `mg-axi doctor` | native | read |
|
|
42
43
|
| `mg-axi entra user list` | native | read |
|
|
43
44
|
| `mg-axi entra user show` | native | read |
|
|
@@ -52,9 +53,26 @@ See `docs/coverage.md` for the per-operation disposition records.
|
|
|
52
53
|
| `mg-axi entra group member add` | native | write |
|
|
53
54
|
| `mg-axi entra directory-role list` | native | read |
|
|
54
55
|
| `mg-axi entra directory-role show` | native | read |
|
|
56
|
+
| `mg-axi entra directory-role-template list` | native | read |
|
|
57
|
+
| `mg-axi entra directory-role-template show` | native | read |
|
|
58
|
+
| `mg-axi entra directory-role member list` | native | read |
|
|
59
|
+
| `mg-axi entra directory-role scoped-member list` | native | read |
|
|
60
|
+
| `mg-axi entra directory-role scoped-member show` | native | read |
|
|
61
|
+
| `mg-axi entra scoped-role-membership list` | native | read |
|
|
62
|
+
| `mg-axi entra scoped-role-membership show` | native | read |
|
|
55
63
|
| `mg-axi entra role-assignment list` | native | read |
|
|
56
64
|
| `mg-axi entra pim eligible list` | native | read |
|
|
57
65
|
| `mg-axi entra pim active list` | native | read |
|
|
66
|
+
| `mg-axi entra pim group-assignment-schedule list` | native | read |
|
|
67
|
+
| `mg-axi entra pim group-assignment-schedule show` | native | read |
|
|
68
|
+
| `mg-axi entra pim group-assignment-instance list` | native | read |
|
|
69
|
+
| `mg-axi entra pim group-assignment-instance show` | native | read |
|
|
70
|
+
| `mg-axi entra pim group-eligibility-schedule list` | native | read |
|
|
71
|
+
| `mg-axi entra pim group-eligibility-schedule show` | native | read |
|
|
72
|
+
| `mg-axi entra pim group-eligibility-instance list` | native | read |
|
|
73
|
+
| `mg-axi entra pim group-eligibility-instance show` | native | read |
|
|
74
|
+
| `mg-axi entra pim group-eligibility-request list` | native | read |
|
|
75
|
+
| `mg-axi entra pim group-eligibility-request show` | native | read |
|
|
58
76
|
| `mg-axi entra device list` | native | read |
|
|
59
77
|
| `mg-axi entra device show` | native | read |
|
|
60
78
|
| `mg-axi entra administrative-unit list` | native | read |
|
|
@@ -133,6 +151,12 @@ See `docs/coverage.md` for the per-operation disposition records.
|
|
|
133
151
|
| `mg-axi entra delegated-admin-relationship show-request` | native | read |
|
|
134
152
|
| `mg-axi entra delegated-admin-customer list-service-management-details` | native | read |
|
|
135
153
|
| `mg-axi entra delegated-admin-customer show-service-management-detail` | native | read |
|
|
154
|
+
| `mg-axi entra delegated-admin-customer count` | native | read |
|
|
155
|
+
| `mg-axi entra delegated-admin-customer count-service-management-details` | native | read |
|
|
156
|
+
| `mg-axi entra delegated-admin-relationship count` | native | read |
|
|
157
|
+
| `mg-axi entra delegated-admin-relationship count-access-assignments` | native | read |
|
|
158
|
+
| `mg-axi entra delegated-admin-relationship count-operations` | native | read |
|
|
159
|
+
| `mg-axi entra delegated-admin-relationship count-requests` | native | read |
|
|
136
160
|
| `mg-axi entra multi-tenant-organization show` | native | read |
|
|
137
161
|
| `mg-axi entra multi-tenant-organization join-request show` | native | read |
|
|
138
162
|
| `mg-axi entra multi-tenant-organization tenant list` | native | read |
|
|
@@ -142,6 +166,8 @@ See `docs/coverage.md` for the per-operation disposition records.
|
|
|
142
166
|
| `mg-axi entra sign-in show` | native | read |
|
|
143
167
|
| `mg-axi entra directory-audit list` | native | read |
|
|
144
168
|
| `mg-axi entra directory-audit show` | native | read |
|
|
169
|
+
| `mg-axi entra provisioning list` | native | read |
|
|
170
|
+
| `mg-axi entra provisioning show` | native | read |
|
|
145
171
|
| `mg-axi entra application list` | native | read |
|
|
146
172
|
| `mg-axi entra application show` | native | read |
|
|
147
173
|
| `mg-axi entra service-principal list` | native | read |
|
|
@@ -150,16 +176,43 @@ See `docs/coverage.md` for the per-operation disposition records.
|
|
|
150
176
|
| `mg-axi entra service-principal owner list` | native | read |
|
|
151
177
|
| `mg-axi entra service-principal oauth2-grant list` | native | read |
|
|
152
178
|
| `mg-axi entra service-principal app-role-assignment list` | native | read |
|
|
179
|
+
| `mg-axi entra service-principal app-role-assignment show` | native | read |
|
|
180
|
+
| `mg-axi entra service-principal app-role-assigned-to list` | native | read |
|
|
181
|
+
| `mg-axi entra service-principal app-role-assigned-to show` | native | read |
|
|
182
|
+
| `mg-axi entra application federated-credential list` | native | read |
|
|
183
|
+
| `mg-axi entra application federated-credential show` | native | read |
|
|
184
|
+
| `mg-axi entra service-principal federated-credential list` | native | read |
|
|
185
|
+
| `mg-axi entra service-principal federated-credential show` | native | read |
|
|
153
186
|
| `mg-axi entra risky-user list` | native | read |
|
|
154
187
|
| `mg-axi entra risky-user show` | native | read |
|
|
155
188
|
| `mg-axi entra risky-user dismiss` | native | write |
|
|
156
189
|
| `mg-axi entra risk-detection list` | native | read |
|
|
157
190
|
| `mg-axi entra risk-detection show` | native | read |
|
|
191
|
+
| `mg-axi entra risky-service-principal list` | native | read |
|
|
192
|
+
| `mg-axi entra risky-service-principal show` | native | read |
|
|
193
|
+
| `mg-axi entra risky-service-principal history list` | native | read |
|
|
194
|
+
| `mg-axi entra risky-service-principal history show` | native | read |
|
|
195
|
+
| `mg-axi entra service-principal-risk-detection list` | native | read |
|
|
196
|
+
| `mg-axi entra service-principal-risk-detection show` | native | read |
|
|
158
197
|
| `mg-axi entra conditional-access policy list` | native | read |
|
|
159
198
|
| `mg-axi entra conditional-access policy show` | native | read |
|
|
160
199
|
| `mg-axi entra conditional-access policy update` | native | write |
|
|
161
200
|
| `mg-axi entra conditional-access named-location list` | native | read |
|
|
162
201
|
| `mg-axi entra conditional-access named-location show` | native | read |
|
|
202
|
+
| `mg-axi entra conditional-access auth-strength-policy list` | native | read |
|
|
203
|
+
| `mg-axi entra conditional-access auth-strength-policy show` | native | read |
|
|
204
|
+
| `mg-axi entra conditional-access combination-configuration list` | native | read |
|
|
205
|
+
| `mg-axi entra conditional-access combination-configuration show` | native | read |
|
|
206
|
+
| `mg-axi entra conditional-access auth-method-mode list` | native | read |
|
|
207
|
+
| `mg-axi entra conditional-access auth-method-mode show` | native | read |
|
|
208
|
+
| `mg-axi entra conditional-access template list` | native | read |
|
|
209
|
+
| `mg-axi entra conditional-access template show` | native | read |
|
|
210
|
+
| `mg-axi entra conditional-access auth-context list` | native | read |
|
|
211
|
+
| `mg-axi entra conditional-access auth-context show` | native | read |
|
|
212
|
+
| `mg-axi entra conditional-access deleted-policy list` | native | read |
|
|
213
|
+
| `mg-axi entra conditional-access deleted-policy show` | native | read |
|
|
214
|
+
| `mg-axi entra conditional-access deleted-named-location list` | native | read |
|
|
215
|
+
| `mg-axi entra conditional-access deleted-named-location show` | native | read |
|
|
163
216
|
| `mg-axi entra identity-provider list` | native | read |
|
|
164
217
|
| `mg-axi entra identity-provider show` | native | read |
|
|
165
218
|
| `mg-axi entra identity-provider count` | native | read |
|
|
@@ -182,6 +235,16 @@ See `docs/coverage.md` for the per-operation disposition records.
|
|
|
182
235
|
| `mg-axi entra data-policy-operation list` | native | read |
|
|
183
236
|
| `mg-axi entra data-policy-operation show` | native | read |
|
|
184
237
|
| `mg-axi entra data-policy-operation count` | native | read |
|
|
238
|
+
| `mg-axi entra fraud-protection-provider list` | native | read |
|
|
239
|
+
| `mg-axi entra fraud-protection-provider show` | native | read |
|
|
240
|
+
| `mg-axi entra fraud-protection-provider count` | native | read |
|
|
241
|
+
| `mg-axi entra web-application-firewall-provider list` | native | read |
|
|
242
|
+
| `mg-axi entra web-application-firewall-provider show` | native | read |
|
|
243
|
+
| `mg-axi entra web-application-firewall-provider count` | native | read |
|
|
244
|
+
| `mg-axi entra web-application-firewall-verification list` | native | read |
|
|
245
|
+
| `mg-axi entra web-application-firewall-verification show` | native | read |
|
|
246
|
+
| `mg-axi entra web-application-firewall-verification count` | native | read |
|
|
247
|
+
| `mg-axi entra web-application-firewall-verification provider show` | native | read |
|
|
185
248
|
| `mg-axi entra access-review definition list` | native | read |
|
|
186
249
|
| `mg-axi entra access-review definition show` | native | read |
|
|
187
250
|
| `mg-axi entra access-review instance list` | native | read |
|
|
@@ -234,6 +297,15 @@ See `docs/coverage.md` for the per-operation disposition records.
|
|
|
234
297
|
| `mg-axi entra lifecycle task-report count` | native | read |
|
|
235
298
|
| `mg-axi entra lifecycle task-report task show` | native | read |
|
|
236
299
|
| `mg-axi entra lifecycle task-report task-definition show` | native | read |
|
|
300
|
+
| `mg-axi entra lifecycle run user-processing-result list` | native | read |
|
|
301
|
+
| `mg-axi entra lifecycle run user-processing-result show` | native | read |
|
|
302
|
+
| `mg-axi entra lifecycle run user-processing-result count` | native | read |
|
|
303
|
+
| `mg-axi entra lifecycle run subject-processing-result list` | native | read |
|
|
304
|
+
| `mg-axi entra lifecycle run subject-processing-result show` | native | read |
|
|
305
|
+
| `mg-axi entra lifecycle run subject-processing-result count` | native | read |
|
|
306
|
+
| `mg-axi entra lifecycle run task-processing-result list` | native | read |
|
|
307
|
+
| `mg-axi entra lifecycle run task-processing-result show` | native | read |
|
|
308
|
+
| `mg-axi entra lifecycle run task-processing-result count` | native | read |
|
|
237
309
|
| `mg-axi api get` | native | read |
|
|
238
310
|
<!-- command-registry:end -->
|
|
239
311
|
|
|
@@ -275,6 +347,19 @@ npx -y @knowttl/mg-axi entra user list --profile soc --limit 10
|
|
|
275
347
|
Configuration defaults to `~/.mg-axi/config.json`; `MG_AXI_CONFIG` selects a separate file.
|
|
276
348
|
`mg-axi setup` shows the selected path and writes nothing.
|
|
277
349
|
|
|
350
|
+
Agent discovery has two install paths, and either suffices alone.
|
|
351
|
+
For ambient context at every agent session start instead of the skill, install the CLI globally and opt into the session hook:
|
|
352
|
+
|
|
353
|
+
```sh
|
|
354
|
+
npm install --global @knowttl/mg-axi
|
|
355
|
+
mg-axi setup hooks
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
This installs a `SessionStart` hook for Claude Code, Codex and OpenCode that prints a short local-only summary (configured profile names with tenant labels, auth-cache presence, write posture and version).
|
|
359
|
+
The hook makes no network, Graph or sign-in call, and prints a short `not configured` record with exit 0 when unconfigured.
|
|
360
|
+
Restart the agent session after running the installer.
|
|
361
|
+
No other ordinary command installs hooks, plugins or configuration.
|
|
362
|
+
|
|
278
363
|
## Selecting a profile
|
|
279
364
|
|
|
280
365
|
Read leaves accept `--profile <name>`.
|