weaver-e10-builder 1.6.10 → 1.6.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/form-browser-definition.d.ts.map +1 -1
- package/dist/commands/form-browser-definition.js +108 -7
- package/dist/commands/form-browser-definition.js.map +1 -1
- package/dist/commands/form-browser-scope-rules.d.ts +27 -0
- package/dist/commands/form-browser-scope-rules.d.ts.map +1 -0
- package/dist/commands/form-browser-scope-rules.js +141 -0
- package/dist/commands/form-browser-scope-rules.js.map +1 -0
- package/dist/commands/form-browser-scope-tree.d.ts +14 -0
- package/dist/commands/form-browser-scope-tree.d.ts.map +1 -0
- package/dist/commands/form-browser-scope-tree.js +115 -0
- package/dist/commands/form-browser-scope-tree.js.map +1 -0
- package/dist/commands/matrix-maintainer.d.ts +3 -0
- package/dist/commands/matrix-maintainer.d.ts.map +1 -0
- package/dist/commands/matrix-maintainer.js +117 -0
- package/dist/commands/matrix-maintainer.js.map +1 -0
- package/dist/commands/matrix.d.ts.map +1 -1
- package/dist/commands/matrix.js +2 -0
- package/dist/commands/matrix.js.map +1 -1
- package/dist/commands/report-admin.d.ts.map +1 -1
- package/dist/commands/report-admin.js +378 -2
- package/dist/commands/report-admin.js.map +1 -1
- package/dist/commands/report-validate.d.ts.map +1 -1
- package/dist/commands/report-validate.js +1102 -3
- package/dist/commands/report-validate.js.map +1 -1
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/report.js +341 -3
- package/dist/commands/report.js.map +1 -1
- package/dist/commands/role.d.ts.map +1 -1
- package/dist/commands/role.js +354 -0
- package/dist/commands/role.js.map +1 -1
- package/dist/commands/special.d.ts.map +1 -1
- package/dist/commands/special.js +67 -31
- package/dist/commands/special.js.map +1 -1
- package/dist/commands/wf-form.d.ts.map +1 -1
- package/dist/commands/wf-form.js +1 -121
- package/dist/commands/wf-form.js.map +1 -1
- package/dist/commands/workflow-after-submit-comment.d.ts +3 -0
- package/dist/commands/workflow-after-submit-comment.d.ts.map +1 -0
- package/dist/commands/workflow-after-submit-comment.js +56 -0
- package/dist/commands/workflow-after-submit-comment.js.map +1 -0
- package/dist/commands/workflow-layout-components.d.ts +3 -0
- package/dist/commands/workflow-layout-components.d.ts.map +1 -0
- package/dist/commands/workflow-layout-components.js +36 -0
- package/dist/commands/workflow-layout-components.js.map +1 -0
- package/dist/commands/workflow-node-batch.d.ts +3 -0
- package/dist/commands/workflow-node-batch.d.ts.map +1 -0
- package/dist/commands/workflow-node-batch.js +136 -0
- package/dist/commands/workflow-node-batch.js.map +1 -0
- package/dist/commands/workflow-node-opinion.d.ts +3 -0
- package/dist/commands/workflow-node-opinion.d.ts.map +1 -0
- package/dist/commands/workflow-node-opinion.js +51 -0
- package/dist/commands/workflow-node-opinion.js.map +1 -0
- package/dist/commands/workflow-node-reject.js +1 -1
- package/dist/commands/workflow-node-reject.js.map +1 -1
- package/dist/commands/workflow-node.d.ts.map +1 -1
- package/dist/commands/workflow-node.js +4 -3
- package/dist/commands/workflow-node.js.map +1 -1
- package/dist/commands/workflow-setting.d.ts.map +1 -1
- package/dist/commands/workflow-setting.js +2 -67
- package/dist/commands/workflow-setting.js.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/services/actionflow/components/send_message.d.ts.map +1 -1
- package/dist/services/actionflow/components/send_message.js +8 -3
- package/dist/services/actionflow/components/send_message.js.map +1 -1
- package/dist/services/actionflow/context_preflight.js +1 -1
- package/dist/services/actionflow/context_preflight.js.map +1 -1
- package/dist/services/actionflow/formula_service.d.ts +1 -0
- package/dist/services/actionflow/formula_service.d.ts.map +1 -1
- package/dist/services/actionflow/formula_service.js +107 -31
- package/dist/services/actionflow/formula_service.js.map +1 -1
- package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
- package/dist/services/actionflow/preflight_service.js +4 -1
- package/dist/services/actionflow/preflight_service.js.map +1 -1
- package/dist/services/form-layout-describe.d.ts.map +1 -1
- package/dist/services/form-layout-describe.js +3 -2
- package/dist/services/form-layout-describe.js.map +1 -1
- package/dist/services/form-layout-document.d.ts.map +1 -1
- package/dist/services/form-layout-document.js +2 -1
- package/dist/services/form-layout-document.js.map +1 -1
- package/dist/services/matrix-maintainer.d.ts +27 -0
- package/dist/services/matrix-maintainer.d.ts.map +1 -0
- package/dist/services/matrix-maintainer.js +142 -0
- package/dist/services/matrix-maintainer.js.map +1 -0
- package/dist/services/report/blueprint.d.ts +109 -0
- package/dist/services/report/blueprint.d.ts.map +1 -0
- package/dist/services/report/blueprint.js +322 -0
- package/dist/services/report/blueprint.js.map +1 -0
- package/dist/services/report/build.d.ts.map +1 -1
- package/dist/services/report/build.js +8 -3
- package/dist/services/report/build.js.map +1 -1
- package/dist/services/report/card.d.ts +65 -0
- package/dist/services/report/card.d.ts.map +1 -0
- package/dist/services/report/card.js +151 -0
- package/dist/services/report/card.js.map +1 -0
- package/dist/services/report/copy-health.d.ts +31 -0
- package/dist/services/report/copy-health.d.ts.map +1 -0
- package/dist/services/report/copy-health.js +87 -0
- package/dist/services/report/copy-health.js.map +1 -0
- package/dist/services/report/dataset-heal.d.ts +64 -0
- package/dist/services/report/dataset-heal.d.ts.map +1 -0
- package/dist/services/report/dataset-heal.js +89 -0
- package/dist/services/report/dataset-heal.js.map +1 -0
- package/dist/services/report/dataset-ids.d.ts +70 -0
- package/dist/services/report/dataset-ids.d.ts.map +1 -0
- package/dist/services/report/dataset-ids.js +149 -0
- package/dist/services/report/dataset-ids.js.map +1 -0
- package/dist/services/report/dataset.d.ts.map +1 -1
- package/dist/services/report/dataset.js +3 -1
- package/dist/services/report/dataset.js.map +1 -1
- package/dist/services/report/drill.d.ts +74 -0
- package/dist/services/report/drill.d.ts.map +1 -0
- package/dist/services/report/drill.js +259 -0
- package/dist/services/report/drill.js.map +1 -0
- package/dist/services/report/empty-dataset.d.ts +51 -0
- package/dist/services/report/empty-dataset.d.ts.map +1 -0
- package/dist/services/report/empty-dataset.js +213 -0
- package/dist/services/report/empty-dataset.js.map +1 -0
- package/dist/services/report/field-binding.d.ts +75 -0
- package/dist/services/report/field-binding.d.ts.map +1 -0
- package/dist/services/report/field-binding.js +160 -0
- package/dist/services/report/field-binding.js.map +1 -0
- package/dist/services/report/forms.d.ts +32 -0
- package/dist/services/report/forms.d.ts.map +1 -1
- package/dist/services/report/forms.js +90 -0
- package/dist/services/report/forms.js.map +1 -1
- package/dist/services/report/formula-parent.d.ts +25 -0
- package/dist/services/report/formula-parent.d.ts.map +1 -0
- package/dist/services/report/formula-parent.js +116 -0
- package/dist/services/report/formula-parent.js.map +1 -0
- package/dist/services/report/locate.d.ts +40 -0
- package/dist/services/report/locate.d.ts.map +1 -0
- package/dist/services/report/locate.js +122 -0
- package/dist/services/report/locate.js.map +1 -0
- package/dist/services/report/reports.d.ts +4 -0
- package/dist/services/report/reports.d.ts.map +1 -1
- package/dist/services/report/reports.js +4 -2
- package/dist/services/report/reports.js.map +1 -1
- package/dist/services/report/scene.d.ts +22 -0
- package/dist/services/report/scene.d.ts.map +1 -0
- package/dist/services/report/scene.js +145 -0
- package/dist/services/report/scene.js.map +1 -0
- package/dist/services/report/types.d.ts +28 -0
- package/dist/services/report/types.d.ts.map +1 -1
- package/dist/services/report/verify.d.ts +24 -0
- package/dist/services/report/verify.d.ts.map +1 -1
- package/dist/services/report/verify.js +115 -2
- package/dist/services/report/verify.js.map +1 -1
- package/dist/services/report/workbook.d.ts +12 -1
- package/dist/services/report/workbook.d.ts.map +1 -1
- package/dist/services/report/workbook.js +107 -8
- package/dist/services/report/workbook.js.map +1 -1
- package/dist/services/role-function-permission.d.ts +12 -0
- package/dist/services/role-function-permission.d.ts.map +1 -0
- package/dist/services/role-function-permission.js +46 -0
- package/dist/services/role-function-permission.js.map +1 -0
- package/dist/services/special-layout.d.ts +113 -0
- package/dist/services/special-layout.d.ts.map +1 -0
- package/dist/services/special-layout.js +178 -0
- package/dist/services/special-layout.js.map +1 -0
- package/dist/services/workflow-after-submit-comment.d.ts +20 -0
- package/dist/services/workflow-after-submit-comment.d.ts.map +1 -0
- package/dist/services/workflow-after-submit-comment.js +81 -0
- package/dist/services/workflow-after-submit-comment.js.map +1 -0
- package/dist/services/workflow-base-settings.d.ts +1 -10
- package/dist/services/workflow-base-settings.d.ts.map +1 -1
- package/dist/services/workflow-field-permission-route.d.ts +15 -41
- package/dist/services/workflow-field-permission-route.d.ts.map +1 -1
- package/dist/services/workflow-field-permission-route.js +23 -8
- package/dist/services/workflow-field-permission-route.js.map +1 -1
- package/dist/services/workflow-layout-components.d.ts +52 -0
- package/dist/services/workflow-layout-components.d.ts.map +1 -0
- package/dist/services/workflow-layout-components.js +66 -0
- package/dist/services/workflow-layout-components.js.map +1 -0
- package/dist/services/workflow-layout-draft.d.ts +49 -0
- package/dist/services/workflow-layout-draft.d.ts.map +1 -0
- package/dist/services/workflow-layout-draft.js +98 -0
- package/dist/services/workflow-layout-draft.js.map +1 -0
- package/dist/services/workflow-node-batch-spec.d.ts +122 -0
- package/dist/services/workflow-node-batch-spec.d.ts.map +1 -0
- package/dist/services/workflow-node-batch-spec.js +496 -0
- package/dist/services/workflow-node-batch-spec.js.map +1 -0
- package/dist/services/workflow-node-batch.d.ts +73 -0
- package/dist/services/workflow-node-batch.d.ts.map +1 -0
- package/dist/services/workflow-node-batch.js +328 -0
- package/dist/services/workflow-node-batch.js.map +1 -0
- package/dist/services/workflow-node-opinion-description.d.ts +12 -0
- package/dist/services/workflow-node-opinion-description.d.ts.map +1 -0
- package/dist/services/workflow-node-opinion-description.js +52 -0
- package/dist/services/workflow-node-opinion-description.js.map +1 -0
- package/dist/services/workflow-node-opinion-layout.d.ts +22 -0
- package/dist/services/workflow-node-opinion-layout.d.ts.map +1 -0
- package/dist/services/workflow-node-opinion-layout.js +113 -0
- package/dist/services/workflow-node-opinion-layout.js.map +1 -0
- package/dist/services/workflow-node-opinion-range.d.ts +21 -0
- package/dist/services/workflow-node-opinion-range.d.ts.map +1 -0
- package/dist/services/workflow-node-opinion-range.js +74 -0
- package/dist/services/workflow-node-opinion-range.js.map +1 -0
- package/dist/services/workflow-node-opinion.d.ts +43 -0
- package/dist/services/workflow-node-opinion.d.ts.map +1 -0
- package/dist/services/workflow-node-opinion.js +198 -0
- package/dist/services/workflow-node-opinion.js.map +1 -0
- package/dist/services/workflow-opinion-settings.d.ts +14 -0
- package/dist/services/workflow-opinion-settings.d.ts.map +1 -1
- package/dist/services/workflow-opinion-settings.js +18 -2
- package/dist/services/workflow-opinion-settings.js.map +1 -1
- package/ecodecmd/src/build.js +36 -12
- package/package.json +1 -1
- package/skill-docs/SKILL.md +164 -162
- package/skill-docs/_catalog.md +13 -3
- package/skill-docs/actionflows/references/components/message/SendMessage.md +32 -30
- package/skill-docs/references/coding/guide-page-code.md +95 -0
- package/skill-docs/references/common/guide-plan-template.md +4 -1
- package/skill-docs/references/common/map.md +28 -4
- package/skill-docs/references/common/ref-cli-commands.md +14 -4
- package/skill-docs/references/components/ref-component-common.md +98 -0
- package/skill-docs/references/form/guide-browser-definition.md +2 -219
- package/skill-docs/references/form/guide-browser-scope.md +285 -0
- package/skill-docs/references/form/guide-create-form.md +1 -1
- package/skill-docs/references/hrm/guide-matrix.md +276 -245
- package/skill-docs/references/hrm/guide-role.md +77 -0
- package/skill-docs/references/report/add-dataset-registration-guide.md +44 -22
- package/skill-docs/references/report/advanced-crosstab-tree-guide.md +82 -0
- package/skill-docs/references/report/ai-report-workflow.md +100 -100
- package/skill-docs/references/report/api-auth-headers.md +129 -0
- package/skill-docs/references/report/api-report-build-fast-path.md +274 -275
- package/skill-docs/references/report/app-datasource-lookup-guide.md +230 -230
- package/skill-docs/references/report/branch-scene-guide.md +293 -0
- package/skill-docs/references/report/build-resilience-guide.md +99 -0
- package/skill-docs/references/report/card-report-guide.md +110 -0
- package/skill-docs/references/report/cell-config-echo-guide.md +44 -9
- package/skill-docs/references/report/cell-transform-guide.md +9 -9
- package/skill-docs/references/report/column-split-report-guide.md +96 -0
- package/skill-docs/references/report/condition-format-guide.md +49 -24
- package/skill-docs/references/report/cross-dataset-filter-guide.md +180 -69
- package/skill-docs/references/report/crosstab-raw-workbook-guide.md +265 -0
- package/skill-docs/references/report/dataset-query-filter-guide.md +231 -235
- package/skill-docs/references/report/dataset-sidebar-ops-guide.md +75 -34
- package/skill-docs/references/report/dataset-table-field-contract-guide.md +196 -46
- package/skill-docs/references/report/datasource-metadata-guide.md +128 -119
- package/skill-docs/references/report/datasource-selection-and-parent-filter-guide.md +183 -148
- package/skill-docs/references/report/date-range-query-reference.md +97 -102
- package/skill-docs/references/report/default-header-style-guide.md +8 -8
- package/skill-docs/references/report/designer-blank-prevention-guide.md +8 -8
- package/skill-docs/references/report/dossier-report-guide.md +69 -0
- package/skill-docs/references/report/drilldown-report-guide.md +75 -0
- package/skill-docs/references/report/event-hreflink-guide.md +55 -47
- package/skill-docs/references/report/expansion-block-parent-config-guide.md +208 -0
- package/skill-docs/references/report/failure-cleanup-and-nonblocking-guide.md +183 -0
- package/skill-docs/references/report/field-bind-exact-match-guide.md +208 -208
- package/skill-docs/references/report/financial-stats-report-guide.md +89 -0
- package/skill-docs/references/report/formula-cell-api-guide.md +325 -258
- package/skill-docs/references/report/golden-case-summary-sheet.md +200 -0
- package/skill-docs/references/report/guide-report-build.md +6 -1
- package/skill-docs/references/report/hidden-row-and-header-merge-guide.md +10 -10
- package/skill-docs/references/report/layout-showlocation-freeze-guide.md +39 -10
- package/skill-docs/references/report/multi-report-crosstab-casebook.md +263 -0
- package/skill-docs/references/report/paged-group-report-guide.md +68 -0
- package/skill-docs/references/report/preaggregate-auto-disable-guide.md +24 -13
- package/skill-docs/references/report/query-condition-api-guide.md +174 -125
- package/skill-docs/references/report/ref-report-commands.md +41 -3
- package/skill-docs/references/report/report-baseinfo-defaults-guide.md +117 -117
- package/skill-docs/references/report/report-building-guide.md +52 -52
- package/skill-docs/references/report/report-case-prompts.md +104 -0
- package/skill-docs/references/report/report-config-schema.md +281 -281
- package/skill-docs/references/report/report-create-modes-guide.md +73 -35
- package/skill-docs/references/report/report-data-model.md +131 -131
- package/skill-docs/references/report/report-delivery-contract.md +23 -3
- package/skill-docs/references/report/report-designer-feature-map.md +30 -35
- package/skill-docs/references/report/report-help-guide.md +304 -0
- package/skill-docs/references/report/report-internal-error-guide.md +71 -0
- package/skill-docs/references/report/report-knowledge-base.md +27 -27
- package/skill-docs/references/report/report-lifecycle-api-guide.md +126 -94
- package/skill-docs/references/report/report-list-page-ops-guide.md +54 -8
- package/skill-docs/references/report/report-permission-guide.md +99 -102
- package/skill-docs/references/report/report-requirement-analysis-template.md +93 -29
- package/skill-docs/references/report/report-self-check-guide.md +164 -164
- package/skill-docs/references/report/report-verification-discipline-guide.md +203 -0
- package/skill-docs/references/report/safe-partial-save-guide.md +151 -151
- package/skill-docs/references/report/shard-freeze-report-guide.md +97 -0
- package/skill-docs/references/report/snowflake-id-precision-guide.md +84 -84
- package/skill-docs/references/report/spec-build-schema.md +71 -71
- package/skill-docs/references/report/targeted-fix-guide.md +155 -97
- package/skill-docs/references/report/user-request-scope-only-guide.md +23 -4
- package/skill-docs/references/workflow/guide-after-submit-comment.md +58 -0
- package/skill-docs/references/workflow/guide-layout-components.md +26 -0
- package/skill-docs/references/workflow/guide-node-opinion.md +58 -0
- package/skill-docs/references/workflow/guide-workflow.md +49 -0
- package/skill-docs/references/form/guide-ebuilder-scope.md +0 -82
package/dist/commands/role.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AuthSession } from '../core/auth.js';
|
|
2
2
|
import { ApiClient } from '../core/client.js';
|
|
3
|
+
import { readRolePermissions, setRolePermission } from '../services/role-function-permission.js';
|
|
3
4
|
import { buildMemberEntry, buildMemberSavePayload, buildMemberListBody, extractMemberRows, isMemberKind, pickExact, parseIdList, buildDestDataPayload, extractDestDataItems, assertAllIdsResolved, DEST_DATA_BASE, MEMBER_KINDS, MEMBER_KIND_LABEL, MEMBER_LEVEL_CODES, MEMBER_LEVEL_LABELS, ORG_SCOPE_CODES, ORG_SCOPE_LABELS, ORG_SCOPES_NEEDING_ORG, } from '../services/role-member.js';
|
|
4
5
|
function flattenTree(nodes, depth = 0) {
|
|
5
6
|
const result = [];
|
|
@@ -25,6 +26,94 @@ function findRoleInTree(nodes, id) {
|
|
|
25
26
|
}
|
|
26
27
|
export function registerRoleCommands(program) {
|
|
27
28
|
const role = program.command('role').description('角色管理');
|
|
29
|
+
const readRoleForm = async (client, base, roleId) => {
|
|
30
|
+
const res = await client.get(`${base}/api/bs/auth/role/getForm?roleId=${roleId}`);
|
|
31
|
+
if (res?.code !== 200 || !res?.status || !res?.data?.data || String(res.data.data.id) !== roleId) {
|
|
32
|
+
throw new Error(`角色 ${roleId} 详情读取失败`);
|
|
33
|
+
}
|
|
34
|
+
return res.data.data;
|
|
35
|
+
};
|
|
36
|
+
role.command('get').argument('<roleId>').description('读取角色基础信息')
|
|
37
|
+
.action(async (roleId) => {
|
|
38
|
+
const auth = await AuthSession.fromOptions(program.opts());
|
|
39
|
+
if (!auth)
|
|
40
|
+
throw new Error('尚未鉴权');
|
|
41
|
+
console.log(JSON.stringify(await readRoleForm(new ApiClient(auth), auth.getBaseUrl(), roleId), null, 2));
|
|
42
|
+
});
|
|
43
|
+
role.command('update').argument('<roleId>').description('修改角色名称、编码、备注或父角色;未指定项保留')
|
|
44
|
+
.option('--name <name>', '角色名称')
|
|
45
|
+
.option('--code <code>', '角色编码')
|
|
46
|
+
.option('--remark <text>', '备注;可传空字符串清空')
|
|
47
|
+
.option('--parent <id>', '新父角色 ID;不能是自身或子孙角色')
|
|
48
|
+
.action(async (roleId, o) => {
|
|
49
|
+
if (Object.values(o).every(v => v === undefined))
|
|
50
|
+
throw new Error('至少指定一项角色属性');
|
|
51
|
+
const auth = await AuthSession.fromOptions(program.opts());
|
|
52
|
+
if (!auth)
|
|
53
|
+
throw new Error('尚未鉴权');
|
|
54
|
+
const client = new ApiClient(auth), base = auth.getBaseUrl();
|
|
55
|
+
const before = await readRoleForm(client, base, roleId);
|
|
56
|
+
const patch = {};
|
|
57
|
+
if (o.name !== undefined) {
|
|
58
|
+
if (!o.name.trim())
|
|
59
|
+
throw new Error('角色名称不能为空');
|
|
60
|
+
patch.roleName = o.name.trim();
|
|
61
|
+
}
|
|
62
|
+
if (o.code !== undefined) {
|
|
63
|
+
if (!o.code.trim())
|
|
64
|
+
throw new Error('角色编码不能为空');
|
|
65
|
+
patch.roleCode = o.code.trim();
|
|
66
|
+
}
|
|
67
|
+
if (o.remark !== undefined)
|
|
68
|
+
patch.remark = o.remark;
|
|
69
|
+
if (o.parent !== undefined) {
|
|
70
|
+
if (o.parent === roleId)
|
|
71
|
+
throw new Error('角色不能以自身为父角色');
|
|
72
|
+
const tree = await client.get(`${base}/api/bs/auth/role/tree?menuCode=roleSettings`);
|
|
73
|
+
if (tree?.code !== 200 || !tree?.status || !Array.isArray(tree?.data?.data))
|
|
74
|
+
throw new Error('无法读取角色树');
|
|
75
|
+
const parent = findRoleInTree(tree.data.data, o.parent);
|
|
76
|
+
if (!parent)
|
|
77
|
+
throw new Error(`父角色 ${o.parent} 不在当前角色树中`);
|
|
78
|
+
const children = findRoleInTree(tree.data.data, roleId)?.children || [];
|
|
79
|
+
if (findRoleInTree(children, o.parent))
|
|
80
|
+
throw new Error('不能将角色移入自身子树');
|
|
81
|
+
patch.parentId = o.parent;
|
|
82
|
+
patch.parentRole = [{ id: parent.id, name: parent.content || parent.title, _entityType: 'role',
|
|
83
|
+
icon: parent.icon || 'Icon-role', tenantKey: auth.tenantKey, delete: false }];
|
|
84
|
+
}
|
|
85
|
+
const payload = { ...before, ...patch, id: roleId, applicationIdList: before.applicationIdList || [], isCheck: 1 };
|
|
86
|
+
const res = await client.post(`${base}/api/bs/auth/role/saveOrUpdate?isCheck=1`, [payload]);
|
|
87
|
+
if (res?.code !== 200 || !res?.status || res?.fail)
|
|
88
|
+
throw new Error(`更新角色失败:${res?.msg || '未知错误'}`);
|
|
89
|
+
const after = await readRoleForm(client, base, roleId);
|
|
90
|
+
for (const [key, value] of Object.entries(patch)) {
|
|
91
|
+
if (key === 'parentRole')
|
|
92
|
+
continue;
|
|
93
|
+
if (String(after[key] ?? '') !== String(value))
|
|
94
|
+
throw new Error(`平台返回成功,但角色属性 ${key} 回读不一致`);
|
|
95
|
+
}
|
|
96
|
+
console.log(JSON.stringify({ success: true, roleId, updated: patch }, null, 2));
|
|
97
|
+
});
|
|
98
|
+
const permission = role.command('permission').description('角色功能权限集');
|
|
99
|
+
permission.command('list').argument('<roleId>').description('读取角色功能权限树中的权限集及选中状态')
|
|
100
|
+
.action(async (roleId) => {
|
|
101
|
+
const auth = await AuthSession.fromOptions(program.opts());
|
|
102
|
+
if (!auth)
|
|
103
|
+
throw new Error('尚未鉴权');
|
|
104
|
+
console.log(JSON.stringify(await readRolePermissions(new ApiClient(auth), auth.getBaseUrl(), roleId), null, 2));
|
|
105
|
+
});
|
|
106
|
+
for (const mode of ['add', 'remove']) {
|
|
107
|
+
permission.command(mode).argument('<roleId>').argument('<permissionSetCode>')
|
|
108
|
+
.description(mode === 'add' ? '授予角色一个功能权限集' : '移除角色的一个功能权限集')
|
|
109
|
+
.action(async (roleId, code) => {
|
|
110
|
+
const auth = await AuthSession.fromOptions(program.opts());
|
|
111
|
+
if (!auth)
|
|
112
|
+
throw new Error('尚未鉴权');
|
|
113
|
+
const saved = await setRolePermission(new ApiClient(auth), auth.getBaseUrl(), roleId, code, mode === 'add');
|
|
114
|
+
console.log(JSON.stringify({ success: true, roleId, permission: saved }, null, 2));
|
|
115
|
+
});
|
|
116
|
+
}
|
|
28
117
|
role.command('list')
|
|
29
118
|
.description('列出所有角色(树形结构)')
|
|
30
119
|
.action(async () => {
|
|
@@ -297,6 +386,52 @@ export function registerRoleCommands(program) {
|
|
|
297
386
|
process.exit(1);
|
|
298
387
|
}
|
|
299
388
|
});
|
|
389
|
+
role.command('add-scope-member').argument('<roleId>')
|
|
390
|
+
.requiredOption('--type <kind>', 'all=所有人 / allExternal=全部外部联系人')
|
|
391
|
+
.option('--level <级别>', '成员级别:总部/分部/部门;缺省 all=总部、allExternal=分部')
|
|
392
|
+
.description('添加不依赖具体浏览对象的所有人或全部外部联系人成员')
|
|
393
|
+
.action(async (roleId, o) => {
|
|
394
|
+
if (!['all', 'allExternal'].includes(o.type))
|
|
395
|
+
throw new Error('仅支持 all 或 allExternal;指定外部人员 external 暂不支持');
|
|
396
|
+
const level = o.level ? MEMBER_LEVEL_CODES[o.level] : o.type === 'allExternal' ? '2' : '1';
|
|
397
|
+
if (!level)
|
|
398
|
+
throw new Error('成员级别仅支持 总部/分部/部门 或 1/2/3');
|
|
399
|
+
const auth = await AuthSession.fromOptions(program.opts());
|
|
400
|
+
if (!auth)
|
|
401
|
+
throw new Error('尚未鉴权');
|
|
402
|
+
const client = new ApiClient(auth), base = auth.getBaseUrl();
|
|
403
|
+
const list = async () => {
|
|
404
|
+
const res = await client.post(`${base}/api/bs/auth/role/${roleId}/member/list`, buildMemberListBody());
|
|
405
|
+
if (res?.code !== 200 || !res?.status || !Array.isArray(res?.data?.data))
|
|
406
|
+
throw new Error('无法完整读取角色成员列表');
|
|
407
|
+
const rows = extractMemberRows(res);
|
|
408
|
+
if (Number(res.data.total || 0) > rows.length || res.data.hasMore)
|
|
409
|
+
throw new Error('角色成员列表未完整返回;为避免误判新增条目,已停止');
|
|
410
|
+
return rows;
|
|
411
|
+
};
|
|
412
|
+
const before = await list();
|
|
413
|
+
const label = o.type === 'all' ? '所有人' : '所有外部联系人';
|
|
414
|
+
if (before.some(row => row.resourceType === label && row.memberLevel === MEMBER_LEVEL_LABELS[Number(level) - 1])) {
|
|
415
|
+
throw new Error(`该角色已有同级别的${label}成员;先用 member-list 核对,勿重复添加`);
|
|
416
|
+
}
|
|
417
|
+
const form = await client.get(`${base}/api/bs/auth/role/member/getForm?roleId=${roleId}`);
|
|
418
|
+
if (form?.code !== 200 || !form?.status || !form?.data?.objectTypeFilter?.includes(o.type)) {
|
|
419
|
+
throw new Error(`当前角色成员表单不支持 ${o.type}`);
|
|
420
|
+
}
|
|
421
|
+
const payload = { ...form.data, objType: o.type, obj_level: level, isAll: false,
|
|
422
|
+
department_attribute: [], expireType: 'UNLIMITED' };
|
|
423
|
+
const res = await client.post(`${base}/api/bs/auth/role/${roleId}/member/save-or-update`, payload);
|
|
424
|
+
if (res?.code !== 200 || !res?.status || res?.fail)
|
|
425
|
+
throw new Error(`添加角色成员失败:${res?.msg || '未知错误'}`);
|
|
426
|
+
const after = await list();
|
|
427
|
+
const oldIds = new Set(before.map(row => row.id));
|
|
428
|
+
const added = after.filter(row => !oldIds.has(row.id));
|
|
429
|
+
if (added.length !== 1 || (o.type === 'allExternal' && added[0].resourceType !== '所有外部联系人') ||
|
|
430
|
+
(o.type === 'all' && added[0].resourceType !== '所有人')) {
|
|
431
|
+
throw new Error('平台返回成功,但无法从成员列表唯一确认新增条目;请人工核实,勿直接重试');
|
|
432
|
+
}
|
|
433
|
+
console.log(JSON.stringify({ success: true, roleId, member: added[0] }, null, 2));
|
|
434
|
+
});
|
|
300
435
|
role.command('member-list')
|
|
301
436
|
.description('列出角色成员(人员 / 部门 / 分部 / 岗位 / 群组)')
|
|
302
437
|
.argument('<roleId>', '角色 ID')
|
|
@@ -324,5 +459,224 @@ export function registerRoleCommands(program) {
|
|
|
324
459
|
+ `${r.orgPermission ? ` 范围=${r.orgPermission}` : ''} userId=${r.userId}`);
|
|
325
460
|
}
|
|
326
461
|
});
|
|
462
|
+
role.command('member-get').argument('<roleId>').argument('<memberId>')
|
|
463
|
+
.description('读取角色成员条目的完整配置')
|
|
464
|
+
.action(async (roleId, memberId) => {
|
|
465
|
+
const auth = await AuthSession.fromOptions(program.opts());
|
|
466
|
+
if (!auth)
|
|
467
|
+
throw new Error('尚未鉴权');
|
|
468
|
+
const res = await new ApiClient(auth).get(`${auth.getBaseUrl()}/api/bs/auth/role/member/getForm?id=${memberId}&roleId=${roleId}`);
|
|
469
|
+
if (res?.code !== 200 || !res?.status || !res?.data?.objType)
|
|
470
|
+
throw new Error('角色成员详情读取失败');
|
|
471
|
+
console.log(JSON.stringify({ ...res.data, id: memberId }, null, 2));
|
|
472
|
+
});
|
|
473
|
+
role.command('member-update').argument('<roleId>').argument('<memberId>')
|
|
474
|
+
.description('修改角色成员的岗位级别及指定机构、下级/兼职选项;其余设置保留')
|
|
475
|
+
.option('--position-level <n>', '岗位级别:1=全部、2=指定分部、3=指定部门')
|
|
476
|
+
.option('--position-subcompany <ids>', '岗位级别指定分部 ID,逗号分隔')
|
|
477
|
+
.option('--position-department <ids>', '岗位级别指定部门 ID,逗号分隔')
|
|
478
|
+
.option('--department-attribute <list>', '部门/分部成员:subordinate,partTimeStaff;传空字符串表示两项都关闭')
|
|
479
|
+
.option('--level <级别>', '角色成员级别:总部/分部/部门 或 1/2/3')
|
|
480
|
+
.option('--sec-min <n>', '安全级别下限')
|
|
481
|
+
.option('--sec-max <n>', '安全级别上限')
|
|
482
|
+
.option('--enable-seclevel', '开启安全级别校验')
|
|
483
|
+
.option('--disable-seclevel', '关闭安全级别校验')
|
|
484
|
+
.option('--org-scope <scope>', '分权范围;用「全部机构/同部门/指定部门」等中文名或协议码')
|
|
485
|
+
.option('--org-departments <ids>', '分权范围为指定部门时的部门 ID,逗号分隔')
|
|
486
|
+
.option('--org-subcompanies <ids>', '分权范围为指定分部时的分部 ID,逗号分隔')
|
|
487
|
+
.option('--org-attribute <list>', '指定分部/部门范围的 subordinate(包含下级);传空字符串表示不含下级')
|
|
488
|
+
.option('--expire-type <type>', '有效期:UNLIMITED/TEMPORARY/DAY/WEEK/MONTH/YEAR/APPOINT')
|
|
489
|
+
.option('--expire-detail <value>', 'DAY/WEEK/MONTH/YEAR 的正整数,或 APPOINT 的 YYYY-MM-DD 日期')
|
|
490
|
+
.action(async (roleId, memberId, o) => {
|
|
491
|
+
const auth = await AuthSession.fromOptions(program.opts());
|
|
492
|
+
if (!auth)
|
|
493
|
+
throw new Error('尚未鉴权');
|
|
494
|
+
const client = new ApiClient(auth), base = auth.getBaseUrl();
|
|
495
|
+
const endpoint = `${base}/api/bs/auth/role/member/getForm?id=${memberId}&roleId=${roleId}`;
|
|
496
|
+
const read = async () => {
|
|
497
|
+
const res = await client.get(endpoint);
|
|
498
|
+
if (res?.code !== 200 || !res?.status || !res?.data?.objType)
|
|
499
|
+
throw new Error('角色成员详情读取失败');
|
|
500
|
+
return res.data;
|
|
501
|
+
};
|
|
502
|
+
const before = await read();
|
|
503
|
+
const patch = {};
|
|
504
|
+
if (o.positionLevel !== undefined || o.positionSubcompany !== undefined || o.positionDepartment !== undefined) {
|
|
505
|
+
if (before.objType !== 'position')
|
|
506
|
+
throw new Error('岗位级别只能用于岗位成员');
|
|
507
|
+
const level = o.positionLevel ?? String(before.position_level || '1');
|
|
508
|
+
if (!['1', '2', '3'].includes(level))
|
|
509
|
+
throw new Error('岗位级别仅支持 1/2/3');
|
|
510
|
+
if (o.positionSubcompany !== undefined && level !== '2')
|
|
511
|
+
throw new Error('指定岗位分部只能与岗位级别 2 同用');
|
|
512
|
+
if (o.positionDepartment !== undefined && level !== '3')
|
|
513
|
+
throw new Error('指定岗位部门只能与岗位级别 3 同用');
|
|
514
|
+
if (level === '2' && !o.positionSubcompany && !(before.position_level_subcompany || []).length)
|
|
515
|
+
throw new Error('岗位级别 2 需要指定分部');
|
|
516
|
+
if (level === '3' && !o.positionDepartment && !(before.position_level_partment || []).length)
|
|
517
|
+
throw new Error('岗位级别 3 需要指定部门');
|
|
518
|
+
const resolve = async (kind, raw) => raw === undefined ? undefined
|
|
519
|
+
: await readByIds(client, base, kind, parseIdList([raw]), roleId);
|
|
520
|
+
patch.position_level = level;
|
|
521
|
+
patch.position_level_subcompany = level === '1' ? [] : (await resolve('subcompany', o.positionSubcompany)) ?? before.position_level_subcompany ?? [];
|
|
522
|
+
patch.position_level_partment = level !== '3' ? [] : (await resolve('department', o.positionDepartment)) ?? before.position_level_partment ?? [];
|
|
523
|
+
}
|
|
524
|
+
if (o.departmentAttribute !== undefined) {
|
|
525
|
+
if (!['department', 'subcompany'].includes(before.objType))
|
|
526
|
+
throw new Error('下级/兼职选项只能用于部门或分部成员');
|
|
527
|
+
const attrs = o.departmentAttribute.split(',').map(x => x.trim()).filter(Boolean);
|
|
528
|
+
if (attrs.some(x => !['subordinate', 'partTimeStaff'].includes(x)))
|
|
529
|
+
throw new Error('下级/兼职选项仅支持 subordinate,partTimeStaff');
|
|
530
|
+
patch.department_attribute = attrs;
|
|
531
|
+
}
|
|
532
|
+
if (o.level !== undefined) {
|
|
533
|
+
const level = MEMBER_LEVEL_CODES[o.level];
|
|
534
|
+
if (!level)
|
|
535
|
+
throw new Error('成员级别仅支持 总部/分部/部门 或 1/2/3');
|
|
536
|
+
patch.obj_level = level;
|
|
537
|
+
}
|
|
538
|
+
if (o.secMin !== undefined || o.secMax !== undefined) {
|
|
539
|
+
const min = o.secMin !== undefined ? Number(o.secMin) : Number(before.seclevel?.min);
|
|
540
|
+
const max = o.secMax !== undefined ? Number(o.secMax) : Number(before.seclevel?.max);
|
|
541
|
+
if (!Number.isFinite(min) || !Number.isFinite(max) || min > max)
|
|
542
|
+
throw new Error('安全级别上下限无效');
|
|
543
|
+
patch.seclevel = { min, max };
|
|
544
|
+
}
|
|
545
|
+
if (o.enableSeclevel && o.disableSeclevel)
|
|
546
|
+
throw new Error('不能同时开启和关闭安全级别校验');
|
|
547
|
+
if (o.enableSeclevel)
|
|
548
|
+
patch.isSeclevel = true;
|
|
549
|
+
if (o.disableSeclevel)
|
|
550
|
+
patch.isSeclevel = false;
|
|
551
|
+
if (o.orgScope !== undefined || o.orgDepartments !== undefined || o.orgSubcompanies !== undefined || o.orgAttribute !== undefined) {
|
|
552
|
+
const raw = o.orgScope || String(before.org_permission || 'ALL_SCOPE');
|
|
553
|
+
const scope = ORG_SCOPE_CODES[raw] || (Object.values(ORG_SCOPE_CODES).includes(raw) ? raw : undefined);
|
|
554
|
+
if (!scope)
|
|
555
|
+
throw new Error(`未知分权范围 ${raw};请使用指南列出的中文名或协议码`);
|
|
556
|
+
const attrs = o.orgAttribute === undefined ? (before.org_permission_attribute || [])
|
|
557
|
+
: o.orgAttribute.split(',').map(x => x.trim()).filter(Boolean);
|
|
558
|
+
if (attrs.some((x) => x !== 'subordinate'))
|
|
559
|
+
throw new Error('分权范围选项仅支持 subordinate');
|
|
560
|
+
const resolve = async (kind, rawIds) => rawIds === undefined ? undefined
|
|
561
|
+
: await readByIds(client, base, kind, parseIdList([rawIds]), roleId);
|
|
562
|
+
if (scope === 'DEPARTMENT') {
|
|
563
|
+
if (o.orgSubcompanies !== undefined)
|
|
564
|
+
throw new Error('指定部门范围不能同时设置指定分部');
|
|
565
|
+
const rows = (await resolve('department', o.orgDepartments)) ?? (before.org_permission === scope ? before.org_permission_department : []);
|
|
566
|
+
if (!rows?.length)
|
|
567
|
+
throw new Error('指定部门范围必须提供 --org-departments');
|
|
568
|
+
patch.org_permission_department = rows;
|
|
569
|
+
patch.org_permission_subcompany = [];
|
|
570
|
+
patch.org_permission_attribute = o.orgAttribute === undefined && before.org_permission !== scope ? [] : attrs;
|
|
571
|
+
}
|
|
572
|
+
else if (scope === 'SUBCOMPANY') {
|
|
573
|
+
if (o.orgDepartments !== undefined)
|
|
574
|
+
throw new Error('指定分部范围不能同时设置指定部门');
|
|
575
|
+
const rows = (await resolve('subcompany', o.orgSubcompanies)) ?? (before.org_permission === scope ? before.org_permission_subcompany : []);
|
|
576
|
+
if (!rows?.length)
|
|
577
|
+
throw new Error('指定分部范围必须提供 --org-subcompanies');
|
|
578
|
+
patch.org_permission_subcompany = rows;
|
|
579
|
+
patch.org_permission_department = [];
|
|
580
|
+
patch.org_permission_attribute = o.orgAttribute === undefined && before.org_permission !== scope ? [] : attrs;
|
|
581
|
+
}
|
|
582
|
+
else {
|
|
583
|
+
if (o.orgDepartments !== undefined || o.orgSubcompanies !== undefined || o.orgAttribute !== undefined) {
|
|
584
|
+
throw new Error('非指定机构分权范围不接受机构 ID 或包含下级选项');
|
|
585
|
+
}
|
|
586
|
+
patch.org_permission_department = [];
|
|
587
|
+
patch.org_permission_subcompany = [];
|
|
588
|
+
patch.org_permission_attribute = [];
|
|
589
|
+
}
|
|
590
|
+
patch.org_permission = scope;
|
|
591
|
+
}
|
|
592
|
+
if (o.expireType !== undefined || o.expireDetail !== undefined) {
|
|
593
|
+
const type = (o.expireType || String(before.expireType || 'UNLIMITED')).toUpperCase();
|
|
594
|
+
if (!['UNLIMITED', 'TEMPORARY', 'DAY', 'WEEK', 'MONTH', 'YEAR', 'APPOINT'].includes(type)) {
|
|
595
|
+
throw new Error(`未知有效期类型 ${type}`);
|
|
596
|
+
}
|
|
597
|
+
const detail = o.expireDetail ?? (type === before.expireType ? before.expireDetail : undefined);
|
|
598
|
+
if (['DAY', 'WEEK', 'MONTH', 'YEAR'].includes(type)) {
|
|
599
|
+
if (!/^[1-9]\d*$/.test(String(detail || '')))
|
|
600
|
+
throw new Error(`${type} 有效期需要正整数 --expire-detail`);
|
|
601
|
+
patch.expireDetail = Number(detail);
|
|
602
|
+
}
|
|
603
|
+
else if (type === 'APPOINT') {
|
|
604
|
+
const matched = /^(\d{4})-(\d{2})-(\d{2})$/.exec(String(detail || ''));
|
|
605
|
+
const parsed = matched ? new Date(`${detail}T00:00:00Z`) : null;
|
|
606
|
+
if (!matched || !parsed || Number.isNaN(parsed.getTime()) || parsed.toISOString().slice(0, 10) !== detail) {
|
|
607
|
+
throw new Error('APPOINT 有效期需要真实存在的 YYYY-MM-DD 日期');
|
|
608
|
+
}
|
|
609
|
+
patch.expireDetail = detail;
|
|
610
|
+
}
|
|
611
|
+
else {
|
|
612
|
+
if (o.expireDetail !== undefined)
|
|
613
|
+
throw new Error(`${type} 不接受 --expire-detail`);
|
|
614
|
+
patch.expireDetail = '';
|
|
615
|
+
}
|
|
616
|
+
patch.expireType = type;
|
|
617
|
+
// expireDate 是平台计算的展示值,切换类型时不能把旧值当作新类型的输入。
|
|
618
|
+
delete before.expireDate;
|
|
619
|
+
}
|
|
620
|
+
if (!Object.keys(patch).length)
|
|
621
|
+
throw new Error('至少指定一项需要修改的成员设置');
|
|
622
|
+
const res = await client.post(`${base}/api/bs/auth/role/${roleId}/member/save-or-update`, { ...before, ...patch, id: memberId });
|
|
623
|
+
if (res?.code !== 200 || !res?.status || res?.fail)
|
|
624
|
+
throw new Error(`更新角色成员失败:${res?.msg || '未知错误'}`);
|
|
625
|
+
let mismatch = '';
|
|
626
|
+
for (let attempt = 0; attempt < 3; attempt++) {
|
|
627
|
+
const after = await read();
|
|
628
|
+
mismatch = '';
|
|
629
|
+
for (const [key, value] of Object.entries(patch)) {
|
|
630
|
+
if (key === 'expireDetail' && String(after[key] ?? '') === String(value ?? ''))
|
|
631
|
+
continue;
|
|
632
|
+
if (key === 'seclevel' && Number(after[key]?.min) === Number(value?.min) &&
|
|
633
|
+
Number(after[key]?.max) === Number(value?.max))
|
|
634
|
+
continue;
|
|
635
|
+
const norm = (x) => Array.isArray(x) && x.every(y => y && typeof y === 'object' && 'id' in y)
|
|
636
|
+
? x.map(y => String(y.id)).sort() : x;
|
|
637
|
+
if (JSON.stringify(norm(after[key])) !== JSON.stringify(norm(value))) {
|
|
638
|
+
mismatch = key;
|
|
639
|
+
break;
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
if (!mismatch)
|
|
643
|
+
break;
|
|
644
|
+
if (attempt < 2)
|
|
645
|
+
await new Promise(resolve => setTimeout(resolve, 300));
|
|
646
|
+
}
|
|
647
|
+
if (mismatch)
|
|
648
|
+
throw new Error(`平台返回成功,但成员字段 ${mismatch} 回读不一致;请先核实实际状态,不要直接重试写入`);
|
|
649
|
+
console.log(JSON.stringify({ success: true, roleId, memberId, updated: patch }, null, 2));
|
|
650
|
+
});
|
|
651
|
+
role.command('member-delete').argument('<roleId>').argument('<memberIds...>')
|
|
652
|
+
.description('按成员条目 ID 删除角色成员,并回读列表')
|
|
653
|
+
.action(async (roleId, memberIds) => {
|
|
654
|
+
const auth = await AuthSession.fromOptions(program.opts());
|
|
655
|
+
if (!auth)
|
|
656
|
+
throw new Error('尚未鉴权');
|
|
657
|
+
const client = new ApiClient(auth), base = auth.getBaseUrl();
|
|
658
|
+
const ids = parseIdList(memberIds);
|
|
659
|
+
const list = async () => {
|
|
660
|
+
const res = await client.post(`${base}/api/bs/auth/role/${roleId}/member/list`, buildMemberListBody());
|
|
661
|
+
if (res?.code !== 200 || !res?.status || !Array.isArray(res?.data?.data))
|
|
662
|
+
throw new Error('角色成员列表读取失败');
|
|
663
|
+
const rows = extractMemberRows(res);
|
|
664
|
+
if (Number(res.data.total || 0) > rows.length || res.data.hasMore)
|
|
665
|
+
throw new Error('角色成员列表未完整返回;为避免误删,已停止');
|
|
666
|
+
return rows;
|
|
667
|
+
};
|
|
668
|
+
const before = await list();
|
|
669
|
+
const existing = new Set(before.map(row => row.id));
|
|
670
|
+
if (ids.some(id => !existing.has(id)))
|
|
671
|
+
throw new Error('有成员条目不属于该角色,已停止删除');
|
|
672
|
+
const res = await client.post(`${base}/api/bs/auth/role/${roleId}/member/del`, { ids });
|
|
673
|
+
if (res?.code !== 200 || !res?.status || res?.fail)
|
|
674
|
+
throw new Error(`删除角色成员失败:${res?.msg || '未知错误'}`);
|
|
675
|
+
const remaining = new Set((await list()).map(row => row.id));
|
|
676
|
+
if (ids.some(id => remaining.has(id)) || before.some(row => !ids.includes(row.id) && !remaining.has(row.id))) {
|
|
677
|
+
throw new Error('平台返回成功,但成员列表回读异常;请先核实实际状态,不要直接重试');
|
|
678
|
+
}
|
|
679
|
+
console.log(JSON.stringify({ success: true, roleId, deletedIds: ids }, null, 2));
|
|
680
|
+
});
|
|
327
681
|
}
|
|
328
682
|
//# sourceMappingURL=role.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../src/commands/role.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../src/commands/role.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"special.d.ts","sourceRoot":"","sources":["../../src/commands/special.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"special.d.ts","sourceRoot":"","sources":["../../src/commands/special.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0CpC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAogBjE"}
|