@inf-monkeys-tech/monkeys-cli 0.12.12 → 0.12.14

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.
Files changed (128) hide show
  1. package/README.md +10 -0
  2. package/README.zh.md +10 -0
  3. package/dist/command/metadata.d.ts.map +1 -1
  4. package/dist/command/metadata.js +14 -1
  5. package/dist/command/metadata.js.map +1 -1
  6. package/dist/commands/data/asset/aggregate.d.ts +21 -0
  7. package/dist/commands/data/asset/aggregate.d.ts.map +1 -0
  8. package/dist/commands/data/asset/aggregate.js +96 -0
  9. package/dist/commands/data/asset/aggregate.js.map +1 -0
  10. package/dist/commands/data/asset/search.d.ts.map +1 -1
  11. package/dist/commands/data/asset/search.js +8 -1
  12. package/dist/commands/data/asset/search.js.map +1 -1
  13. package/dist/commands/group/create.d.ts +21 -0
  14. package/dist/commands/group/create.d.ts.map +1 -0
  15. package/dist/commands/group/create.js +31 -0
  16. package/dist/commands/group/create.js.map +1 -0
  17. package/dist/commands/group/delete.d.ts +22 -0
  18. package/dist/commands/group/delete.d.ts.map +1 -0
  19. package/dist/commands/group/delete.js +30 -0
  20. package/dist/commands/group/delete.js.map +1 -0
  21. package/dist/commands/group/get.d.ts +14 -0
  22. package/dist/commands/group/get.d.ts.map +1 -0
  23. package/dist/commands/group/get.js +20 -0
  24. package/dist/commands/group/get.js.map +1 -0
  25. package/dist/commands/group/list.d.ts +16 -0
  26. package/dist/commands/group/list.d.ts.map +1 -0
  27. package/dist/commands/group/list.js +18 -0
  28. package/dist/commands/group/list.js.map +1 -0
  29. package/dist/commands/group/member/add.d.ts +26 -0
  30. package/dist/commands/group/member/add.d.ts.map +1 -0
  31. package/dist/commands/group/member/add.js +29 -0
  32. package/dist/commands/group/member/add.js.map +1 -0
  33. package/dist/commands/group/member/list.d.ts +20 -0
  34. package/dist/commands/group/member/list.d.ts.map +1 -0
  35. package/dist/commands/group/member/list.js +21 -0
  36. package/dist/commands/group/member/list.js.map +1 -0
  37. package/dist/commands/group/member/remove.d.ts +27 -0
  38. package/dist/commands/group/member/remove.d.ts.map +1 -0
  39. package/dist/commands/group/member/remove.js +33 -0
  40. package/dist/commands/group/member/remove.js.map +1 -0
  41. package/dist/commands/group/permission/list.d.ts +19 -0
  42. package/dist/commands/group/permission/list.d.ts.map +1 -0
  43. package/dist/commands/group/permission/list.js +28 -0
  44. package/dist/commands/group/permission/list.js.map +1 -0
  45. package/dist/commands/group/permission/set.d.ts +24 -0
  46. package/dist/commands/group/permission/set.d.ts.map +1 -0
  47. package/dist/commands/group/permission/set.js +33 -0
  48. package/dist/commands/group/permission/set.js.map +1 -0
  49. package/dist/commands/group/update.d.ts +24 -0
  50. package/dist/commands/group/update.d.ts.map +1 -0
  51. package/dist/commands/group/update.js +33 -0
  52. package/dist/commands/group/update.js.map +1 -0
  53. package/dist/commands/permission/list.d.ts +16 -0
  54. package/dist/commands/permission/list.d.ts.map +1 -0
  55. package/dist/commands/permission/list.js +18 -0
  56. package/dist/commands/permission/list.js.map +1 -0
  57. package/dist/commands/user/get.d.ts +14 -0
  58. package/dist/commands/user/get.d.ts.map +1 -0
  59. package/dist/commands/user/get.js +20 -0
  60. package/dist/commands/user/get.js.map +1 -0
  61. package/dist/commands/user/group/add.d.ts +26 -0
  62. package/dist/commands/user/group/add.d.ts.map +1 -0
  63. package/dist/commands/user/group/add.js +29 -0
  64. package/dist/commands/user/group/add.js.map +1 -0
  65. package/dist/commands/user/group/list.d.ts +19 -0
  66. package/dist/commands/user/group/list.d.ts.map +1 -0
  67. package/dist/commands/user/group/list.js +38 -0
  68. package/dist/commands/user/group/list.js.map +1 -0
  69. package/dist/commands/user/group/remove.d.ts +26 -0
  70. package/dist/commands/user/group/remove.d.ts.map +1 -0
  71. package/dist/commands/user/group/remove.js +29 -0
  72. package/dist/commands/user/group/remove.js.map +1 -0
  73. package/dist/commands/user/list.d.ts +18 -0
  74. package/dist/commands/user/list.d.ts.map +1 -0
  75. package/dist/commands/user/list.js +27 -0
  76. package/dist/commands/user/list.js.map +1 -0
  77. package/dist/data/asset-aggregate.d.ts +68 -0
  78. package/dist/data/asset-aggregate.d.ts.map +1 -0
  79. package/dist/data/asset-aggregate.js +303 -0
  80. package/dist/data/asset-aggregate.js.map +1 -0
  81. package/dist/data/client.d.ts +1 -0
  82. package/dist/data/client.d.ts.map +1 -1
  83. package/dist/data/client.js +52 -9
  84. package/dist/data/client.js.map +1 -1
  85. package/dist/data/contracts.d.ts +3 -2
  86. package/dist/data/contracts.d.ts.map +1 -1
  87. package/dist/data/contracts.js +28 -5
  88. package/dist/data/contracts.js.map +1 -1
  89. package/dist/identity-governance/client.d.ts +217 -0
  90. package/dist/identity-governance/client.d.ts.map +1 -0
  91. package/dist/identity-governance/client.js +185 -0
  92. package/dist/identity-governance/client.js.map +1 -0
  93. package/dist/identity-governance/contracts.d.ts +142 -0
  94. package/dist/identity-governance/contracts.d.ts.map +1 -0
  95. package/dist/identity-governance/contracts.js +109 -0
  96. package/dist/identity-governance/contracts.js.map +1 -0
  97. package/dist/identity-governance/definitions.d.ts +54 -0
  98. package/dist/identity-governance/definitions.d.ts.map +1 -0
  99. package/dist/identity-governance/definitions.js +25 -0
  100. package/dist/identity-governance/definitions.js.map +1 -0
  101. package/dist/identity-governance/files.d.ts +5 -0
  102. package/dist/identity-governance/files.d.ts.map +1 -0
  103. package/dist/identity-governance/files.js +75 -0
  104. package/dist/identity-governance/files.js.map +1 -0
  105. package/dist/identity-governance/flags.d.ts +43 -0
  106. package/dist/identity-governance/flags.d.ts.map +1 -0
  107. package/dist/identity-governance/flags.js +52 -0
  108. package/dist/identity-governance/flags.js.map +1 -0
  109. package/dist/identity-governance/group-mutation.d.ts +165 -0
  110. package/dist/identity-governance/group-mutation.d.ts.map +1 -0
  111. package/dist/identity-governance/group-mutation.js +160 -0
  112. package/dist/identity-governance/group-mutation.js.map +1 -0
  113. package/dist/identity-governance/membership.d.ts +145 -0
  114. package/dist/identity-governance/membership.d.ts.map +1 -0
  115. package/dist/identity-governance/membership.js +264 -0
  116. package/dist/identity-governance/membership.js.map +1 -0
  117. package/dist/identity-governance/runtime.d.ts +16 -0
  118. package/dist/identity-governance/runtime.d.ts.map +1 -0
  119. package/dist/identity-governance/runtime.js +30 -0
  120. package/dist/identity-governance/runtime.js.map +1 -0
  121. package/oclif.manifest.json +2747 -570
  122. package/package.json +11 -2
  123. package/skills/monkeys-data/references/data-perspective.md +5 -5
  124. package/skills/monkeys-data/references/data-read.md +2 -1
  125. package/skills/monkeys-data/references/ontology-feature-search.md +47 -1
  126. package/skills/monkeys-shared/SKILL.md +2 -1
  127. package/skills/monkeys-shared/references/identity-governance.md +47 -0
  128. package/skills/monkeys-shared/references/platform-overview.md +2 -0
package/README.md CHANGED
@@ -334,6 +334,16 @@ AI Agents can invoke monkeys-cli to read or modify Monkeys data available to the
334
334
  - Never automatically retry an unknown mutation outcome; inspect it first with the corresponding read-only `list`, `get`, `status`, or `history` command
335
335
  - Output is recursively redacted, but callers must still avoid sharing business data and debug logs with unrelated third parties
336
336
 
337
+ ## Kernel Users and Permission Groups
338
+
339
+ `user list/get` discovers platform accounts; `group list/get` and `permission list` discover groups and permission IDs. All require an explicit `--subscription` and use Kernel global scope without a Team. Existing `identity list/get` share-target discovery is unchanged.
340
+
341
+ Direct memberships use `user group add/remove` or `group member add/remove`. Custom groups support `group create/update/delete` and `group permission set`; the latter replaces the entire permission set, and only an explicit `{"permissionIds":[]}` clears it. System group definitions are protected.
342
+
343
+ Bulk changes require a reviewed dry-run plan, followed by `--plan-file --yes`. `group member remove --all-members` only prepares that frozen plan; execution never includes newly added members. Batches are limited to 200, read back before continuing, and stop on failure or unknown outcomes without replay. Reports and snapshots default to `.monkeys-identity/`; protect these account/group identifiers and do not commit them. Removing direct membership does not remove mapped access.
344
+
345
+ These commands require compatible published Server operations, not just a CLI upgrade. See the [identity governance guide](skills/monkeys-shared/references/identity-governance.md) and `monkeys schema group member remove`.
346
+
337
347
  ## Development & Release
338
348
 
339
349
  The repository uses Bun for dependency management and development scripts. Users continue to install the released CLI with npm or npx.
package/README.zh.md CHANGED
@@ -310,6 +310,16 @@ monkeys-cli 可以被 AI Agent 调用来读取或修改用户有权访问的 Mon
310
310
  - 写请求结果未知时禁止自动重试,先用对应的只读 `list/get/status/history` 命令核查
311
311
  - 输出统一递归脱敏,但调用者仍应避免把业务数据和调试日志发送给无关第三方
312
312
 
313
+ ## 平台用户与权限组
314
+
315
+ `user list/get` 查询平台账号,`group list/get` 和 `permission list` 查询权限组及权限定义。所有命令要求显式 `--subscription`,固定 Kernel 全局、不继承 Team;旧 `identity list/get` 分享目标发现保持独立。
316
+
317
+ `user group add/remove`、`group member add/remove` 只增删直接成员,保留其他业务组和组织映射。自定义组支持增删改和 `group permission set` 整组权限替换;只有显式 `{"permissionIds":[]}` 才会清空,系统组定义不能修改。
318
+
319
+ 批量操作必须先生成并审核 dry-run 计划,再用 `--plan-file --yes` 执行。`--all-members` 只能用于预览冻结名单,执行时不会自动加入后来新增的人。每批最多 200 项,逐批读回,失败或结果未知就停止且不重放。报告默认保存在 `.monkeys-identity/`,包含账号/组标识,应妥善保管且不提交到仓库。
320
+
321
+ CLI 升级不等于服务端接口已经部署。具体参数见 `monkeys schema group member remove` 和[用户与权限组指南](skills/monkeys-shared/references/identity-governance.md)。
322
+
313
323
  ## 开发与发布
314
324
 
315
325
  仓库使用 Bun 管理依赖和执行脚本;用户安装仍使用 npm / npx。
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/command/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAClE,uBAAuB,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvD,oBAAoB,EAAE,OAAO,CAAC;IAC9B,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,IAAI,EAAE,SAAS,CAAC;CACjB;AAsHD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAiCnE"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/command/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAClE,uBAAuB,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvD,oBAAoB,EAAE,OAAO,CAAC;IAC9B,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,IAAI,EAAE,SAAS,CAAC;CACjB;AAoID,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAiCnE"}
@@ -1,4 +1,15 @@
1
+ const IDENTITY_MUTATIONS = [
2
+ 'user group add',
3
+ 'user group remove',
4
+ 'group member add',
5
+ 'group member remove',
6
+ 'group create',
7
+ 'group update',
8
+ 'group delete',
9
+ 'group permission set',
10
+ ];
1
11
  const NATIVE_DRY_RUN_COMMANDS = new Set([
12
+ ...IDENTITY_MUTATIONS,
2
13
  'config patch',
3
14
  'config set',
4
15
  'data asset enrich-jsonl',
@@ -34,10 +45,11 @@ const READ_VERBS = new Set([
34
45
  'watch',
35
46
  'whoami',
36
47
  ]);
37
- const READ_COMMANDS = new Set(['dev-agent work runtime filesystem tree', 'dev-agent work runtime logs']);
48
+ const READ_COMMANDS = new Set(['data asset aggregate', 'dev-agent work runtime filesystem tree', 'dev-agent work runtime logs']);
38
49
  const CREDENTIAL_PREFIXES = ['auth login', 'auth logout', 'subscription add', 'subscription remove'];
39
50
  const CREDENTIAL_COMMANDS = new Set(['auth api-key import']);
40
51
  const PRIVILEGED_COMMANDS = new Set([
52
+ ...IDENTITY_MUTATIONS,
41
53
  'dev-agent work assign existing',
42
54
  'dev-agent work assign new',
43
55
  'dev-agent work retry',
@@ -58,6 +70,7 @@ const PRIVILEGED_COMMANDS = new Set([
58
70
  ]);
59
71
  const DESTRUCTIVE_VERBS = new Set(['delete', 'remove']);
60
72
  const NATIVE_REQUIRED_CONFIRMATION = new Set([
73
+ ...IDENTITY_MUTATIONS,
61
74
  'dev-agent work assign existing',
62
75
  'dev-agent work assign new',
63
76
  'dev-agent work delete',
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/command/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/command/metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { LocalCommand } from '../../../config/local-command.js';
2
+ export default class DataAssetAggregate extends LocalCommand {
3
+ static description: string;
4
+ static flags: {
5
+ perspective: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
6
+ 'page-all': import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ 'page-delay': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'page-limit': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'page-size': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'page-token': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'input-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ 'input-json': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ ontology: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
14
+ view: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
15
+ output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
16
+ subscription: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ team: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ };
19
+ run(): Promise<void>;
20
+ }
21
+ //# sourceMappingURL=aggregate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../../src/commands/data/asset/aggregate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,kCAAkC,CAAC;AAcjF,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,YAAY;IAC1D,OAAgB,WAAW,SAAuG;IAClI,OAAgB,KAAK;;;;;;;;;;;;;;MAanB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAyEzB;CACF"}
@@ -0,0 +1,96 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { LocalCommand, localOutputFlag } from '../../../config/local-command.js';
3
+ import { normalizeAssetAggregateInput, validateAssetAggregateContinuation, } from '../../../data/asset-aggregate.js';
4
+ import { DataClient } from '../../../data/client.js';
5
+ import { dataMeta, loadDataRuntime, readOptionalJson } from '../../../data/command.js';
6
+ import { dataQueryFingerprint, decodeDataCursorState, encodeDataCursor } from '../../../data/cursor.js';
7
+ import { dataPerspectiveFlags } from '../../../data/perspective.js';
8
+ import { createDataScope } from '../../../data/scope.js';
9
+ import { CliError, EXIT_CODES } from '../../../errors/cli-error.js';
10
+ import { collectPaginated, paginationFlags, paginationInput } from '../../../pagination/index.js';
11
+ export default class DataAssetAggregate extends LocalCommand {
12
+ static description = 'Aggregate assets through the published Studio contract with bounded metrics and group pagination.';
13
+ static flags = {
14
+ ...dataPerspectiveFlags,
15
+ 'input-file': Flags.string({ exclusive: ['input-json'], summary: 'Aggregate query JSON file' }),
16
+ 'input-json': Flags.string({
17
+ exclusive: ['input-file'],
18
+ summary: 'Aggregate query JSON object containing metrics and optional filters',
19
+ }),
20
+ ontology: Flags.string({ required: true, summary: 'Ontology ID' }),
21
+ view: Flags.string({ required: true, summary: 'Readable View ID in the Ontology' }),
22
+ output: localOutputFlag,
23
+ ...paginationFlags({ defaultPageSize: 50, maxPageSize: 1000 }),
24
+ subscription: Flags.string({ summary: 'Subscription name' }),
25
+ team: Flags.string({ summary: 'Authenticated Studio Team context' }),
26
+ };
27
+ async run() {
28
+ const { flags } = await this.parse(DataAssetAggregate);
29
+ await this.emit('data asset aggregate', flags.output, async () => {
30
+ if (flags.perspective === 'kernel') {
31
+ throw new CliError('Asset aggregation currently supports the published Studio contract only.', {
32
+ code: 'DATA_PERSPECTIVE_UNSUPPORTED',
33
+ exitCode: EXIT_CODES.validation,
34
+ safeDetails: { requestState: 'not_sent' },
35
+ });
36
+ }
37
+ const query = normalizeAssetAggregateInput(await readOptionalJson(flags['input-json'], flags['input-file']), {
38
+ ontologyId: flags.ontology,
39
+ viewId: flags.view,
40
+ });
41
+ const runtime = await loadDataRuntime(flags.subscription, flags.team, flags.perspective);
42
+ if (runtime.dataContract.variant !== 'ontology-v1') {
43
+ throw new CliError('Asset aggregation requires the ontology-v1 data contract.', {
44
+ code: 'DATA_CONTRACT_UNSUPPORTED',
45
+ exitCode: EXIT_CODES.compatibility,
46
+ safeDetails: { requestState: 'not_sent' },
47
+ });
48
+ }
49
+ const scope = createDataScope({ ontology: query.ontologyId }, runtime.dataContract.variant);
50
+ const pagination = paginationInput(flags);
51
+ validateAssetAggregateContinuation(query, pagination.pageToken);
52
+ const fingerprint = dataQueryFingerprint({
53
+ context: runtime.context.fingerprint,
54
+ dataContractVariant: runtime.dataContract.variant,
55
+ dataScope: { id: scope.id, kind: scope.kind },
56
+ operation: 'data.asset.aggregate',
57
+ pageSize: pagination.pageSize,
58
+ query,
59
+ });
60
+ let binding;
61
+ const aggregatePages = [];
62
+ let itemOffset = 0;
63
+ const page = await collectPaginated(pagination, fingerprint, async (innerCursor) => {
64
+ const cursor = decodeDataCursorState(innerCursor, fingerprint);
65
+ if (cursor.perspective && cursor.perspective !== 'studio') {
66
+ throw new CliError('Aggregate continuation requires the Studio perspective.', {
67
+ code: 'PAGE_TOKEN_MISMATCH',
68
+ exitCode: EXIT_CODES.validation,
69
+ });
70
+ }
71
+ validateAssetAggregateContinuation(query, cursor.token);
72
+ const result = await new DataClient(runtime, scope).call('data.asset.aggregate', 'POST', '/api/v2/data/assets/aggregate', 'read', {
73
+ body: { ...query, pageSize: pagination.pageSize, ...(cursor.token ? { pageToken: cursor.token } : {}) },
74
+ publishedBindingOnly: true,
75
+ });
76
+ binding ??= result.binding;
77
+ const { items, ...evidence } = result.data;
78
+ aggregatePages.push({ ...evidence, itemOffset });
79
+ itemOffset += items.length;
80
+ return {
81
+ items,
82
+ nextCursor: encodeDataCursor(result.data.pageInfo.nextPageToken, fingerprint, result.binding.effectivePerspective),
83
+ total: result.data.pageInfo.total,
84
+ };
85
+ });
86
+ const singlePage = aggregatePages.length === 1 ? aggregatePages[0] : undefined;
87
+ return {
88
+ ...dataMeta(runtime, binding, scope),
89
+ ...page,
90
+ aggregatePages,
91
+ ...(singlePage ? { scanned: singlePage.scanned, truncated: singlePage.truncated, exact: singlePage.exact } : {}),
92
+ };
93
+ });
94
+ }
95
+ }
96
+ //# sourceMappingURL=aggregate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../src/commands/data/asset/aggregate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/commands/data/asset/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,kCAAkC,CAAC;AAUjF,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,YAAY;IACvD,OAAgB,WAAW,SAA6E;IACxG,OAAgB,KAAK;;;;;;;;;;;;;;;;;;MAenB;IACI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAgEzB;CACF"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/commands/data/asset/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,kCAAkC,CAAC;AAWjF,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,YAAY;IACvD,OAAgB,WAAW,SAA6E;IACxG,OAAgB,KAAK;;;;;;;;;;;;;;;;;;MAenB;IACI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAsEzB;CACF"}
@@ -1,6 +1,7 @@
1
1
  import { Flags } from '@oclif/core';
2
2
  import { LocalCommand, localOutputFlag } from '../../../config/local-command.js';
3
3
  import { DataClient } from '../../../data/client.js';
4
+ import { hasSelectedAssetRows } from '../../../data/contracts.js';
4
5
  import { mergeAssetSearchExpression, normalizeAssetSearchExpression } from '../../../data/asset-search-expression.js';
5
6
  import { dataMeta, loadDataRuntime, readOptionalJson, resolveDataRuntimePerspective } from '../../../data/command.js';
6
7
  import { dataQueryFingerprint, decodeDataCursorState, encodeDataCursor } from '../../../data/cursor.js';
@@ -43,6 +44,13 @@ export default class DataAssetSearch extends LocalCommand {
43
44
  const scope = createDataScope(scopeInput, runtime.dataContract.variant);
44
45
  runtime = prepareOntologyReadRuntime(runtime, scope, flags['resource-team']);
45
46
  const scopeId = scope.id;
47
+ if (flags.compact && hasSelectedAssetRows('data.asset.search', runtime.dataContract.variant, effectiveFilter)) {
48
+ throw new CliError('--compact cannot be combined with selected Asset fields; omit --compact to preserve assetRef and values.', {
49
+ code: 'DATA_SEARCH_OPTIONS_CONFLICT',
50
+ exitCode: EXIT_CODES.validation,
51
+ safeDetails: { requestState: 'not_sent' },
52
+ });
53
+ }
46
54
  const pagination = paginationInput(flags);
47
55
  const fingerprint = dataQueryFingerprint({
48
56
  context: runtime.context.fingerprint,
@@ -64,7 +72,6 @@ export default class DataAssetSearch extends LocalCommand {
64
72
  body: {
65
73
  ...effectiveFilter,
66
74
  ontologyId: scopeId,
67
- ...(runtime.context.team ? { teamId: runtime.context.team } : {}),
68
75
  pageSize: pagination.pageSize,
69
76
  ...(pageToken ? { pageToken } : {}),
70
77
  },
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/commands/data/asset/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/commands/data/asset/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { LocalCommand } from '../../config/local-command.js';
2
+ export default class GroupMutation extends LocalCommand {
3
+ static description: string;
4
+ static flags: {
5
+ 'page-all': import("@oclif/core/interfaces").BooleanFlag<boolean>;
6
+ 'page-delay': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
7
+ 'page-limit': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'page-size': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'page-token': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ subscription: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
+ refresh: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ 'input-json': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ 'input-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ snapshot: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ };
19
+ run(): Promise<void>;
20
+ }
21
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/group/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAM7D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY;IACrD,OAAgB,WAAW,SAAoE;IAE/F,OAAgB,KAAK;;;;;;;;;;;;;;MAInB;IACI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAczB;CACF"}
@@ -0,0 +1,31 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { LocalCommand } from '../../config/local-command.js';
3
+ import { IdentityClient } from '../../identity-governance/client.js';
4
+ import { mutationFlags, bodyFlags, readBody } from '../../identity-governance/flags.js';
5
+ import { executeGroupMutation } from '../../identity-governance/group-mutation.js';
6
+ import { loadIdentityRuntime } from '../../identity-governance/runtime.js';
7
+ import { paginationInput } from '../../pagination/index.js';
8
+ export default class GroupMutation extends LocalCommand {
9
+ static description = 'Create a custom permission group with no implicit permissions.';
10
+ static flags = {
11
+ ...mutationFlags(),
12
+ ...bodyFlags(),
13
+ snapshot: Flags.string({ summary: 'New file for the before-state snapshot (never overwritten)' }),
14
+ };
15
+ async run() {
16
+ const { flags } = await this.parse(GroupMutation);
17
+ await this.emit('group create', flags.output, async () => {
18
+ const body = await readBody(flags);
19
+ return executeGroupMutation({
20
+ client: new IdentityClient(await loadIdentityRuntime(flags.subscription, flags.refresh)),
21
+ action: 'create',
22
+ body,
23
+ dryRun: flags['dry-run'],
24
+ yes: flags.yes,
25
+ snapshot: flags.snapshot,
26
+ pagination: paginationInput(flags),
27
+ });
28
+ });
29
+ }
30
+ }
31
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/group/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY;IACrD,MAAM,CAAU,WAAW,GAAG,gEAAgE,CAAC;IAE/F,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,aAAa,EAAE;QAClB,GAAG,SAAS,EAAE;QACd,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,4DAA4D,EAAE,CAAC;KAClG,CAAC;IACF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;YACnC,OAAO,oBAAoB,CAAC;gBAC1B,MAAM,EAAE,IAAI,cAAc,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxF,MAAM,EAAE,QAAQ;gBAChB,IAAI;gBACJ,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;gBACxB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC;aACnC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ import { LocalCommand } from '../../config/local-command.js';
2
+ export default class GroupMutation extends LocalCommand {
3
+ static description: string;
4
+ static args: {
5
+ id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ 'page-all': import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ 'page-delay': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'page-limit': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'page-size': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
12
+ 'page-token': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
14
+ subscription: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
15
+ refresh: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
+ yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ snapshot: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ };
20
+ run(): Promise<void>;
21
+ }
22
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/group/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAM7D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY;IACrD,OAAgB,WAAW,SAAiE;IAC5F,OAAgB,IAAI;QAAK,EAAE;MAA0E;IACrG,OAAgB,KAAK;;;;;;;;;;;;MAGnB;IACI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAazB;CACF"}
@@ -0,0 +1,30 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { LocalCommand } from '../../config/local-command.js';
3
+ import { IdentityClient } from '../../identity-governance/client.js';
4
+ import { mutationFlags } from '../../identity-governance/flags.js';
5
+ import { executeGroupMutation } from '../../identity-governance/group-mutation.js';
6
+ import { loadIdentityRuntime } from '../../identity-governance/runtime.js';
7
+ import { paginationInput } from '../../pagination/index.js';
8
+ export default class GroupMutation extends LocalCommand {
9
+ static description = 'Delete an empty custom group. There is no restore endpoint.';
10
+ static args = { id: Args.string({ required: true, description: 'Exact custom-group ID' }) };
11
+ static flags = {
12
+ ...mutationFlags(),
13
+ snapshot: Flags.string({ summary: 'New file for the before-state snapshot (never overwritten)' }),
14
+ };
15
+ async run() {
16
+ const { flags, args } = await this.parse(GroupMutation);
17
+ await this.emit('group delete', flags.output, async () => {
18
+ return executeGroupMutation({
19
+ client: new IdentityClient(await loadIdentityRuntime(flags.subscription, flags.refresh)),
20
+ action: 'delete',
21
+ id: args.id,
22
+ dryRun: flags['dry-run'],
23
+ yes: flags.yes,
24
+ snapshot: flags.snapshot,
25
+ pagination: paginationInput(flags),
26
+ });
27
+ });
28
+ }
29
+ }
30
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/group/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY;IACrD,MAAM,CAAU,WAAW,GAAG,6DAA6D,CAAC;IAC5F,MAAM,CAAU,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC,EAAE,CAAC;IACrG,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,aAAa,EAAE;QAClB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,4DAA4D,EAAE,CAAC;KAClG,CAAC;IACF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACvD,OAAO,oBAAoB,CAAC;gBAC1B,MAAM,EAAE,IAAI,cAAc,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxF,MAAM,EAAE,QAAQ;gBAChB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;gBACxB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC;aACnC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import { LocalCommand } from '../../config/local-command.js';
2
+ export default class IdentityRead extends LocalCommand {
3
+ static description: string;
4
+ static args: {
5
+ id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
9
+ subscription: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ refresh: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/group/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAM7D,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY;IACpD,OAAgB,WAAW,SAAwD;IACnF,OAAgB,IAAI;QAAK,EAAE;MAAoE;IAC/F,OAAgB,KAAK;;;;MAA0B;IACzC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAOzB;CACF"}
@@ -0,0 +1,20 @@
1
+ import { Args } from '@oclif/core';
2
+ import { LocalCommand } from '../../config/local-command.js';
3
+ import { IdentityClient } from '../../identity-governance/client.js';
4
+ import { identityFlags } from '../../identity-governance/flags.js';
5
+ import { identityMeta, loadIdentityRuntime } from '../../identity-governance/runtime.js';
6
+ import { idSchema, parse } from '../../identity-governance/contracts.js';
7
+ export default class IdentityRead extends LocalCommand {
8
+ static description = 'Get a Kernel permission group and its permissions.';
9
+ static args = { id: Args.string({ required: true, description: 'Exact target ID' }) };
10
+ static flags = { ...identityFlags() };
11
+ async run() {
12
+ const { flags, args } = await this.parse(IdentityRead);
13
+ await this.emit('group get', flags.output, async () => {
14
+ const client = new IdentityClient(await loadIdentityRuntime(flags.subscription, flags.refresh));
15
+ const data = await client.group(parse(idSchema, args.id));
16
+ return { ...identityMeta(client.runtime), item: data };
17
+ });
18
+ }
19
+ }
20
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/group/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAEzE,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY;IACpD,MAAM,CAAU,WAAW,GAAG,oDAAoD,CAAC;IACnF,MAAM,CAAU,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IAC/F,MAAM,CAAU,KAAK,GAAG,EAAE,GAAG,aAAa,EAAE,EAAE,CAAC;IAC/C,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAChG,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,OAAO,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ import { LocalCommand } from '../../config/local-command.js';
2
+ export default class IdentityRead extends LocalCommand {
3
+ static description: string;
4
+ static flags: {
5
+ 'page-all': import("@oclif/core/interfaces").BooleanFlag<boolean>;
6
+ 'page-delay': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
7
+ 'page-limit': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'page-size': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'page-token': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ subscription: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
+ refresh: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/group/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAM7D,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY;IACpD,OAAgB,WAAW,SAAuE;IAElG,OAAgB,KAAK;;;;;;;;;MAAgD;IAC/D,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAOzB;CACF"}
@@ -0,0 +1,18 @@
1
+ import { LocalCommand } from '../../config/local-command.js';
2
+ import { IdentityClient } from '../../identity-governance/client.js';
3
+ import { identityFlags } from '../../identity-governance/flags.js';
4
+ import { identityMeta, loadIdentityRuntime } from '../../identity-governance/runtime.js';
5
+ import { paginationFlags, paginationInput } from '../../pagination/index.js';
6
+ export default class IdentityRead extends LocalCommand {
7
+ static description = 'List Kernel permission groups, including system-group protection.';
8
+ static flags = { ...identityFlags(), ...paginationFlags() };
9
+ async run() {
10
+ const { flags } = await this.parse(IdentityRead);
11
+ await this.emit('group list', flags.output, async () => {
12
+ const client = new IdentityClient(await loadIdentityRuntime(flags.subscription, flags.refresh));
13
+ const data = await client.groups(paginationInput(flags));
14
+ return { ...identityMeta(client.runtime), ...data };
15
+ });
16
+ }
17
+ }
18
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/group/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAEzF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC7E,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY;IACpD,MAAM,CAAU,WAAW,GAAG,mEAAmE,CAAC;IAElG,MAAM,CAAU,KAAK,GAAG,EAAE,GAAG,aAAa,EAAE,EAAE,GAAG,eAAe,EAAE,EAAE,CAAC;IACrE,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAChG,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;YACzD,OAAO,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ import { LocalCommand } from '../../../config/local-command.js';
2
+ export default class MembershipMutation extends LocalCommand {
3
+ static description: string;
4
+ static args: {
5
+ id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ 'page-all': import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ 'page-delay': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'page-limit': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'page-size': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
12
+ 'page-token': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
14
+ subscription: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
15
+ refresh: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
+ yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ ids: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ 'ids-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ 'plan-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ 'plan-out': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ report: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ };
24
+ run(): Promise<void>;
25
+ }
26
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../../src/commands/group/member/add.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAMhE,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,YAAY;IAC1D,OAAgB,WAAW,SAA6E;IACxG,OAAgB,IAAI;QAAK,EAAE;MAAmE;IAC9F,OAAgB,KAAK;;;;;;;;;;;;;;;;MAA4B;IAC3C,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBzB;CACF"}
@@ -0,0 +1,29 @@
1
+ import { Args } from '@oclif/core';
2
+ import { LocalCommand } from '../../../config/local-command.js';
3
+ import { IdentityClient } from '../../../identity-governance/client.js';
4
+ import { membershipFlags } from '../../../identity-governance/flags.js';
5
+ import { executeMembership } from '../../../identity-governance/membership.js';
6
+ import { loadIdentityRuntime } from '../../../identity-governance/runtime.js';
7
+ import { paginationInput } from '../../../pagination/index.js';
8
+ export default class MembershipMutation extends LocalCommand {
9
+ static description = 'Add direct group memberships using exact IDs or a reviewed frozen plan.';
10
+ static args = { id: Args.string({ required: true, description: 'Exact group ID' }) };
11
+ static flags = { ...membershipFlags() };
12
+ async run() {
13
+ const { flags, args } = await this.parse(MembershipMutation);
14
+ await this.emit('group member add', flags.output, async () => executeMembership({
15
+ client: new IdentityClient(await loadIdentityRuntime(flags.subscription, flags.refresh)),
16
+ scope: { kind: 'group', id: args.id },
17
+ action: 'add',
18
+ ids: flags.ids,
19
+ idsFile: flags['ids-file'],
20
+ planFile: flags['plan-file'],
21
+ planOut: flags['plan-out'],
22
+ report: flags.report,
23
+ dryRun: flags['dry-run'],
24
+ yes: flags.yes,
25
+ pagination: paginationInput(flags),
26
+ }));
27
+ }
28
+ }
29
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/commands/group/member/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,YAAY;IAC1D,MAAM,CAAU,WAAW,GAAG,yEAAyE,CAAC;IACxG,MAAM,CAAU,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;IAC9F,MAAM,CAAU,KAAK,GAAG,EAAE,GAAG,eAAe,EAAE,EAAE,CAAC;IACjD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAC3D,iBAAiB,CAAC;YAChB,MAAM,EAAE,IAAI,cAAc,CAAC,MAAM,mBAAmB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACxF,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;YACrC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC;YAC1B,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC;YAC5B,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;YAEpB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;YACxB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC;SACnC,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}