@lovrabet/rabetbase-cli 2.4.7 → 2.5.0-beta.1
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/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.d.ts +13 -3
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.d.ts +7 -0
- package/lib/api/generate-sdk-config-file.js +1 -0
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.d.ts +2 -5
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.d.ts +5 -0
- package/lib/commands/config/delete.js +1 -0
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.d.ts +12 -0
- package/lib/commands/config/init.js +1 -0
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/template.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.d.ts +1 -0
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.d.ts +6 -2
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.d.ts +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.d.ts +2 -2
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.d.ts +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.d.ts +10 -0
- package/lib/config/domain-config.js +1 -0
- package/lib/config/schema.d.ts +3 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.d.ts +23 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.d.ts +9 -0
- package/lib/constant/region.js +1 -0
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.d.ts +4 -6
- package/lib/context/config-loader.js +1 -1
- package/lib/context.d.ts +2 -2
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +2 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.d.ts +11 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.d.ts +2 -2
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/types/index.d.ts +28 -0
- package/lib/utils/ai_config.d.ts +1 -2
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -3
- package/skills/rabetbase/SKILL.md +33 -28
- package/skills/rabetbase/guides/backend-function.md +41 -12
- package/skills/rabetbase/guides/bff-creation-workflow.md +6 -4
- package/skills/rabetbase/guides/custom-page-workflow.md +1 -1
- package/skills/rabetbase/guides/data-api-guidelines.md +8 -8
- package/skills/rabetbase/guides/database-connection-workflow.md +8 -16
- package/skills/rabetbase/guides/menu-anomaly-manual-cleanup.md +1 -6
- package/skills/rabetbase/guides/sdk-client-generation.md +146 -0
- package/skills/rabetbase/guides/sql-creation-workflow.md +1 -1
- package/skills/rabetbase/guides/troubleshooting.md +1 -1
- package/skills/rabetbase/guides/typescript-sdk.md +46 -10
- package/skills/rabetbase/references/rabetbase-api-list.md +4 -4
- package/skills/rabetbase/references/rabetbase-api-pull.md +44 -29
- package/skills/rabetbase/references/rabetbase-app-list.md +2 -2
- package/skills/rabetbase/references/rabetbase-auth-login.md +4 -2
- package/skills/rabetbase/references/rabetbase-bff-push.md +3 -1
- package/skills/rabetbase/references/rabetbase-codegen-sql.md +3 -1
- package/skills/rabetbase/references/rabetbase-config.md +75 -30
- package/skills/rabetbase/references/rabetbase-dataset-detail.md +1 -1
- package/skills/rabetbase/references/rabetbase-db-analyze.md +3 -3
- package/skills/rabetbase/references/rabetbase-db-detail.md +2 -2
- package/skills/rabetbase/references/rabetbase-db-diff-refresh.md +4 -4
- package/skills/rabetbase/references/rabetbase-db-diff.md +6 -9
- package/skills/rabetbase/references/rabetbase-doctor.md +1 -1
- package/skills/rabetbase/references/rabetbase-init.md +57 -51
- package/skills/rabetbase/references/rabetbase-kb.md +2 -0
- package/skills/rabetbase/references/rabetbase-page-create.md +1 -1
- package/skills/rabetbase/references/rabetbase-page-custom-detail.md +3 -3
- package/skills/rabetbase/references/rabetbase-page-custom-list.md +2 -2
- package/skills/rabetbase/references/rabetbase-project-create.md +12 -3
- package/skills/rabetbase/references/rabetbase-project-upgrade.md +2 -2
- package/skills/rabetbase/references/rabetbase-role-user-resolve.md +2 -2
- package/skills/rabetbase/references/rabetbase-user-account.md +1 -1
- package/skills/rabetbase/references/rabetbase-workspace.md +6 -6
- package/skills/rabetbase.manifest.json +4 -3
- package/templates/README.md +17 -28
- package/templates/generate-api/api.ts.tpl +3 -3
- package/templates/generate-api/client.ts.tpl +10 -37
- package/lib/commands/data/filter.d.ts +0 -7
- package/lib/commands/data/filter.js +0 -1
- package/lib/commands/data/getOne.d.ts +0 -7
- package/lib/commands/data/getOne.js +0 -1
- package/lib/commands/data/index.d.ts +0 -8
- package/lib/commands/data/index.js +0 -1
- package/lib/commands/data/shared.d.ts +0 -33
- package/lib/commands/data/shared.js +0 -1
- package/lib/commands/init/index.d.ts +0 -11
- package/lib/commands/init/index.js +0 -1
- package/lib/utils/rules-cdn.d.ts +0 -38
- package/lib/utils/rules-cdn.js +0 -1
- package/templates/rules/lovrabet_rules.mdc.tpl +0 -893
- package/templates/skill/SKILL.md.tpl +0 -120
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a19_0x5814(_0x4f9987,_0x26819e){_0x4f9987=_0x4f9987-0x1a4;const _0x24ef87=a19_0x24ef();let _0x581448=_0x24ef87[_0x4f9987];return _0x581448;}function a19_0x24ef(){const _0x3695fd=['5jIJoQm','906189OGThuW','18072828UEMZkv','10297ohKCzi','528070PakZTU','18862FuTKhe','297272tJVYxP','3264RMQdwr','4254680sYHAql'];a19_0x24ef=function(){return _0x3695fd;};return a19_0x24ef();}(function(_0x442344,_0x5bc463){const _0x574847=a19_0x5814,_0x541029=_0x442344();while(!![]){try{const _0x3f3016=-parseInt(_0x574847(0x1a7))/0x1*(parseInt(_0x574847(0x1ac))/0x2)+-parseInt(_0x574847(0x1a8))/0x3+parseInt(_0x574847(0x1a4))/0x4+parseInt(_0x574847(0x1ab))/0x5+parseInt(_0x574847(0x1a5))/0x6*(-parseInt(_0x574847(0x1aa))/0x7)+-parseInt(_0x574847(0x1a6))/0x8+parseInt(_0x574847(0x1a9))/0x9;if(_0x3f3016===_0x5bc463)break;else _0x541029['push'](_0x541029['shift']());}catch(_0x221170){_0x541029['push'](_0x541029['shift']());}}}(a19_0x24ef,0x7bb7b));import{appListDefinition}from'../../commands/app/list.js';import{appMembersListDefinition}from'../../commands/app/members-list.js';export const appDefinitions=[appListDefinition,appMembersListDefinition];
|
package/lib/commands/app/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a20_0x22e9de=a20_0x18d4;(function(_0x1ffe88,_0x699b1f){const _0x214a26=a20_0x18d4,_0x295f30=_0x1ffe88();while(!![]){try{const _0x57ead9=-parseInt(_0x214a26(0xa5))/0x1*(-parseInt(_0x214a26(0x9d))/0x2)+-parseInt(_0x214a26(0x96))/0x3+-parseInt(_0x214a26(0xa1))/0x4*(-parseInt(_0x214a26(0x82))/0x5)+parseInt(_0x214a26(0x88))/0x6*(parseInt(_0x214a26(0x8c))/0x7)+-parseInt(_0x214a26(0x93))/0x8+parseInt(_0x214a26(0x84))/0x9+parseInt(_0x214a26(0xa4))/0xa*(-parseInt(_0x214a26(0x9e))/0xb);if(_0x57ead9===_0x699b1f)break;else _0x295f30['push'](_0x295f30['shift']());}catch(_0x3347e8){_0x295f30['push'](_0x295f30['shift']());}}}(a20_0x13a7,0x792f8));import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';import{buildAppProfileListFields}from'../../config/schema.js';import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';import{listRemoteAppDirectory}from'../../commands/app/remote-directory.js';function buildItemsFromLayer(_0x5c1267,_0x26e8f4){const _0x3208a2=a20_0x18d4,_0x572023=[],_0x3cd4a9=_0x5c1267[_0x3208a2(0x8a)]&&typeof _0x5c1267[_0x3208a2(0x8a)]===_0x3208a2(0x8d)?_0x5c1267['apps']:{},_0x52a532=_0x5c1267['defaultApp']||undefined,_0x3bd67b=_0x52a532??(Object['keys'](_0x3cd4a9)[_0x3208a2(0xa9)]===0x1?Object[_0x3208a2(0x9c)](_0x3cd4a9)[0x0]:undefined);for(const [_0xb4aac2,_0x3c867b]of Object[_0x3208a2(0x97)](_0x3cd4a9)){if(!_0x3c867b||typeof _0x3c867b!=='object'||!_0x3c867b[_0x3208a2(0x81)])continue;_0x572023[_0x3208a2(0x86)]({'name':_0xb4aac2,'appcode':_0x3c867b[_0x3208a2(0x81)],'named':!![],'definedIn':_0x26e8f4,'isDefault':_0xb4aac2===_0x3bd67b,...buildAppProfileListFields(_0x3c867b)});}return _0x572023;}function a20_0x18d4(_0x30be8a,_0x2f64cf){_0x30be8a=_0x30be8a-0x81;const _0x13a70d=a20_0x13a7();let _0x18d4a6=_0x13a70d[_0x30be8a];return _0x18d4a6;}function buildMergedItems(_0x2aa088,_0x226dbe){const _0x3fea1f=a20_0x18d4,{apps:apps={}}=_0x2aa088,_0x57b4fd=_0x2aa088['defaultApp'],_0x4f341d=_0x57b4fd??(Object[_0x3fea1f(0x9c)](apps)[_0x3fea1f(0xa9)]===0x1?Object[_0x3fea1f(0x9c)](apps)[0x0]:undefined),_0x1a59a5=_0x226dbe[_0x3fea1f(0xa2)][_0x3fea1f(0x8a)]&&typeof _0x226dbe['globalConfig'][_0x3fea1f(0x8a)]===_0x3fea1f(0x8d)?_0x226dbe['globalConfig'][_0x3fea1f(0x8a)]:{},_0x27660c=_0x226dbe['projectConfig'][_0x3fea1f(0x8a)]&&typeof _0x226dbe[_0x3fea1f(0xa6)][_0x3fea1f(0x8a)]===_0x3fea1f(0x8d)?_0x226dbe[_0x3fea1f(0xa6)][_0x3fea1f(0x8a)]:{},_0x19be56=Object[_0x3fea1f(0x97)](apps),_0x214ce1=_0x19be56['map'](([_0x1bc32c,_0x200d7c])=>({'name':_0x1bc32c,'appcode':_0x200d7c[_0x3fea1f(0x81)],'named':!![],'definedIn':appDefinedIn(_0x1bc32c,_0x1a59a5,_0x27660c),'isDefault':_0x1bc32c===_0x4f341d,...buildAppProfileListFields(_0x200d7c)}));return _0x214ce1;}function validateAppListFlags(_0x1ce7a6){const _0xd7464b=a20_0x18d4;if(!_0x1ce7a6[_0xd7464b(0x98)](_0xd7464b(0x90)))return;if(!_0x1ce7a6[_0xd7464b(0x98)](_0xd7464b(0x9b))&&!_0x1ce7a6['bool'](_0xd7464b(0xa0)))return;throw CliErrors['validation'](_0xd7464b(0x91),_0xd7464b(0x92));}async function execute(_0x2d0f29){const _0x16a9eb=a20_0x18d4;validateAppListFlags(_0x2d0f29);if(_0x2d0f29[_0x16a9eb(0x98)](_0x16a9eb(0x90)))return{'ok':!![],'data':await listRemoteAppDirectory(_0x2d0f29)};const _0x402bba=_0x2d0f29[_0x16a9eb(0x98)](_0x16a9eb(0x9b)),_0x445f3f=_0x2d0f29[_0x16a9eb(0x98)](_0x16a9eb(0xa0)),_0x2a9ac5=_0x402bba?'global':_0x445f3f?_0x16a9eb(0xa0):'merged',{config:_0x241bee,layers:_0x561a48}=readRawConfigWithLayers(),_0x4bca36=resolveDefaultAppSource(_0x561a48),{defaultApp:_0x1f547f}=_0x241bee;let _0x37e798,_0x137c6d;switch(_0x2a9ac5){case _0x16a9eb(0x9b):_0x37e798=buildItemsFromLayer(_0x561a48['globalConfig'],_0x16a9eb(0x9b)),_0x137c6d=_0x561a48[_0x16a9eb(0x95)];break;case _0x16a9eb(0xa0):_0x37e798=buildItemsFromLayer(_0x561a48[_0x16a9eb(0xa6)],_0x16a9eb(0xa0)),_0x137c6d=_0x561a48[_0x16a9eb(0x87)];break;default:_0x37e798=buildMergedItems(_0x241bee,_0x561a48);break;}enrichAppListItemsWithMergedSelection(_0x37e798,_0x2d0f29[_0x16a9eb(0x9a)]);if(_0x37e798['length']===0x0){const _0x201280=_0x2a9ac5===_0x16a9eb(0xaa)?'':_0x16a9eb(0x94)+_0x2a9ac5+'\x20config';return{'ok':!![],'data':[],'message':_0x16a9eb(0x8b)+_0x201280+_0x16a9eb(0x8e)+CLI_BIN_NAME+'\x20workspace\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.'};}const _0x1c2084=_0x37e798[_0x16a9eb(0x83)](_0x5d6426=>_0x5d6426[_0x16a9eb(0x8f)]===!![]),_0x19f8a8=_0x1f547f??_0x1c2084?.[_0x16a9eb(0xa8)]??null,_0xf348f=_0x2a9ac5==='merged'?{'globalPath':_0x561a48[_0x16a9eb(0x95)]??null,'projectPath':_0x561a48['projectPath']??null,'defaultApp':_0x19f8a8,'defaultAppSource':_0x1f547f!=null?_0x4bca36:null}:{'scope':_0x2a9ac5,'configPath':_0x137c6d??null};return{'ok':!![],'data':{'items':_0x37e798,'meta':_0xf348f}};}export const appListDefinition={'service':'app','command':'list','description':a20_0x22e9de(0x85),'risk':a20_0x22e9de(0x99),'auth':a20_0x22e9de(0x89),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a20_0x22e9de(0x90),'type':'boolean','description':'List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','default':![]},{'name':a20_0x22e9de(0x9b),'type':a20_0x22e9de(0xa7),'description':a20_0x22e9de(0xa3),'default':![]},{'name':a20_0x22e9de(0xa0),'type':a20_0x22e9de(0xa7),'description':a20_0x22e9de(0x9f),'default':![]}],async 'validate'(_0x242ba6){validateAppListFlags(_0x242ba6);},'execute':execute};function a20_0x13a7(){const _0x5dd516=['1206759POzYQR','entries','bool','read','mergedCli','global','keys','8QTfUnP','10945UcLMJs','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','project','60cdEeTb','globalConfig','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','9880QLfJDZ','184568TUjjxf','projectConfig','boolean','name','length','merged','appcode','93315qPoJEr','find','6959781niCbbD','List\x20configured\x20apps,\x20or\x20platform\x20apps\x20with\x20--remote','push','projectPath','5350518POdgCg','optional','apps','No\x20apps\x20configured','7FGGwTL','object','.\x20Use\x20`','isCurrent','remote','`--remote`\x20cannot\x20be\x20used\x20with\x20`--global`\x20or\x20`--project`.','Use\x20`rabetbase\x20app\x20list\x20--remote`\x20for\x20the\x20platform\x20directory,\x20or\x20`rabetbase\x20app\x20list\x20--global/--project`\x20for\x20local\x20config.','6412720Atclsp','\x20in\x20','globalPath'];a20_0x13a7=function(){return _0x5dd516;};return a20_0x13a7();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a21_0x1f9ef5=a21_0x16b1;(function(_0x1dfc01,_0x5d13e0){const _0x280e90=a21_0x16b1,_0x5c7031=_0x1dfc01();while(!![]){try{const _0xec03d2=parseInt(_0x280e90(0x1a1))/0x1+parseInt(_0x280e90(0x1a3))/0x2+parseInt(_0x280e90(0x19b))/0x3+-parseInt(_0x280e90(0x19a))/0x4*(parseInt(_0x280e90(0x1a2))/0x5)+parseInt(_0x280e90(0x195))/0x6*(parseInt(_0x280e90(0x193))/0x7)+-parseInt(_0x280e90(0x199))/0x8*(-parseInt(_0x280e90(0x19c))/0x9)+-parseInt(_0x280e90(0x1a0))/0xa*(parseInt(_0x280e90(0x19f))/0xb);if(_0xec03d2===_0x5d13e0)break;else _0x5c7031['push'](_0x5c7031['shift']());}catch(_0x47197d){_0x5c7031['push'](_0x5c7031['shift']());}}}(a21_0x4dc6,0xade62));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectAppMembers}from'../../commands/app/shared.js';import{listRoleUsers}from'../../core/api-client.js';function a21_0x16b1(_0x5b6c20,_0x33adde){_0x5b6c20=_0x5b6c20-0x193;const _0x4dc67b=a21_0x4dc6();let _0x16b12c=_0x4dc67b[_0x5b6c20];return _0x16b12c;}function a21_0x4dc6(){const _0x28565f=['134760gyaiFi','7030195FbRYLs','624206DZCThG','7cYvEYp','app','7361958hhkygF','Found\x20','appCode','\x20application\x20member(s)','192lLYiuA','4MoEqGx','3266961vaMkro','207630lhVGat','read','length','66VDYnIH','1996990nGKtBc'];a21_0x4dc6=function(){return _0x28565f;};return a21_0x4dc6();}export const appMembersListDefinition={'service':a21_0x1f9ef5(0x194),'command':'members-list','description':'List\x20application\x20members\x20with\x20their\x20role\x20memberships','risk':a21_0x1f9ef5(0x19d),'requiresAuth':!![],'requiresAppCode':!![],'structuredErrors':!![],'flags':[APPCODE_FLAG_OPTIONAL],async 'execute'(_0x133838){const _0x5f4fb7=a21_0x1f9ef5,_0x176bb9=projectAppMembers(await listRoleUsers(_0x133838[_0x5f4fb7(0x197)]));return{'ok':!![],'data':{'appCode':_0x133838[_0x5f4fb7(0x197)],'items':_0x176bb9,'totalCount':_0x176bb9[_0x5f4fb7(0x19e)]},'message':_0x5f4fb7(0x196)+_0x176bb9[_0x5f4fb7(0x19e)]+_0x5f4fb7(0x198)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3564b1,_0x30a729){const _0x3138cb=a22_0x1de5,_0xc40da3=_0x3564b1();while(!![]){try{const _0x33d7d5=parseInt(_0x3138cb(0x15b))/0x1+parseInt(_0x3138cb(0x15a))/0x2+-parseInt(_0x3138cb(0x164))/0x3+-parseInt(_0x3138cb(0x162))/0x4*(parseInt(_0x3138cb(0x15e))/0x5)+parseInt(_0x3138cb(0x15c))/0x6*(parseInt(_0x3138cb(0x157))/0x7)+-parseInt(_0x3138cb(0x163))/0x8*(-parseInt(_0x3138cb(0x15d))/0x9)+parseInt(_0x3138cb(0x156))/0xa*(-parseInt(_0x3138cb(0x159))/0xb);if(_0x33d7d5===_0x30a729)break;else _0xc40da3['push'](_0xc40da3['shift']());}catch(_0x2bb545){_0xc40da3['push'](_0xc40da3['shift']());}}}(a22_0x253c,0xaf57c));import{listRemoteApps}from'../../core/api-client.js';import{getCookie}from'../../auth/get-cookie.js';import{CliErrors}from'../../errors.js';import{withActiveCookie}from'../../utils/with-active-cookie.js';function a22_0x1de5(_0x3e042c,_0x348d45){_0x3e042c=_0x3e042c-0x153;const _0x253ce4=a22_0x253c();let _0x1de523=_0x253ce4[_0x3e042c];return _0x1de523;}function resolveCookie(_0x3b020f){const _0x248c0f=a22_0x1de5,_0x44392b=_0x3b020f[_0x248c0f(0x154)]||getCookie();if(!_0x44392b)throw CliErrors[_0x248c0f(0x153)]();return _0x44392b;}export async function listRemoteAppDirectory(_0x54a756){const _0x288d55=a22_0x1de5,_0x4882cc=await withActiveCookie(resolveCookie(_0x54a756),()=>listRemoteApps());return{'items':_0x4882cc[_0x288d55(0x15f)](_0x53b7e2=>({..._0x53b7e2['id']!=null?{'id':_0x53b7e2['id']}:{},'appCode':_0x53b7e2[_0x288d55(0x155)],'appName':_0x53b7e2[_0x288d55(0x160)],..._0x53b7e2['appDesc']!=null?{'appDesc':_0x53b7e2[_0x288d55(0x158)]}:{}})),'meta':{'source':_0x288d55(0x161)}};}function a22_0x253c(){const _0x8e76c9=['966wLCjes','2745PrQRos','1953670ksQwVk','map','appName','platform','8fzTmhW','8840VDiFqH','3363612qBUbAC','authRequired','cookie','appCode','1630JbWPPF','37681IJjvve','appDesc','12001DCZCmh','2159104viQmdT','515469OSKjQW'];a22_0x253c=function(){return _0x8e76c9;};return a22_0x253c();}
|
|
@@ -30,11 +30,8 @@ export declare function enrichAppListItemsWithMergedSelection(items: Record<stri
|
|
|
30
30
|
* --global 为 true 时始终写全局;否则项目 apps 含该名 → 项目优先;否则仅全局含该名 → 全局。
|
|
31
31
|
*/
|
|
32
32
|
export declare function resolveAppScopeForWrite(name: string, explicitGlobal: boolean, layers: RawConfigLayers): "project" | "global";
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
-
* `ignoreGlobalMerge`:项目 `inherit: false` 时传 `true`,不把全局 apps 参与「both」判定。
|
|
36
|
-
*/
|
|
37
|
-
export declare function appDefinedIn(name: string, globalApps: Record<string, unknown>, projectApps: Record<string, unknown>, ignoreGlobalMerge?: boolean): "global" | "project" | "both";
|
|
33
|
+
/** app 定义在哪一层配置文件中。 */
|
|
34
|
+
export declare function appDefinedIn(name: string, globalApps: Record<string, unknown>, projectApps: Record<string, unknown>): "global" | "project" | "both";
|
|
38
35
|
/**
|
|
39
36
|
* defaultApp 解析来源:与 mergeRawConfigLayers 中 defaultApp 策略一致。
|
|
40
37
|
* 供 app list / workspace use 标注写盘位置参考。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x198c6c,_0x3101e9){const _0x465279=a23_0x5b47,_0x435030=_0x198c6c();while(!![]){try{const _0x16f805=parseInt(_0x465279(0x1ce))/0x1*(-parseInt(_0x465279(0x1b4))/0x2)+parseInt(_0x465279(0x1dd))/0x3+-parseInt(_0x465279(0x1d1))/0x4+-parseInt(_0x465279(0x1db))/0x5+-parseInt(_0x465279(0x1b3))/0x6+parseInt(_0x465279(0x1bc))/0x7+parseInt(_0x465279(0x1b1))/0x8*(parseInt(_0x465279(0x1dc))/0x9);if(_0x16f805===_0x3101e9)break;else _0x435030['push'](_0x435030['shift']());}catch(_0x83851f){_0x435030['push'](_0x435030['shift']());}}}(a23_0x48e8,0x8990e));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';function nullableText(_0xebb6f8){const _0x30732a=a23_0x5b47,_0x256dfa=_0xebb6f8?.[_0x30732a(0x1d7)]();return _0x256dfa?_0x256dfa:null;}export function projectAppMembers(_0x366bd3){const _0x2e2c41=a23_0x5b47,_0x3ca3f6=new Map(),_0x36ded7=[..._0x366bd3][_0x2e2c41(0x1ba)]((_0x3271dd,_0x3e0f6b)=>_0x3271dd['id']-_0x3e0f6b['id']),_0x654ac6=(_0x1244e7,_0x3551cd,_0x3379da)=>{const _0x52100f=_0x2e2c41;for(const _0x40a493 of _0x3551cd){const _0x14b600=Number(_0x40a493[_0x52100f(0x1c8)]);if(!Number[_0x52100f(0x1ae)](_0x14b600)||_0x14b600<=0x0)continue;let _0x31d3e4=_0x3ca3f6['get'](_0x14b600);if(!_0x31d3e4)_0x31d3e4={'userId':_0x14b600,'username':nullableText(_0x40a493[_0x52100f(0x1c7)]),'displayName':nullableText(_0x40a493['nickname']),'status':_0x3379da,'roles':[],'roleKeys':new Set()},_0x3ca3f6['set'](_0x14b600,_0x31d3e4);else{_0x31d3e4[_0x52100f(0x1c7)]??=nullableText(_0x40a493['username']),_0x31d3e4[_0x52100f(0x1d9)]??=nullableText(_0x40a493[_0x52100f(0x1c4)]);if(_0x3379da===_0x52100f(0x1c5))_0x31d3e4[_0x52100f(0x1c0)]=_0x52100f(0x1c5);}const _0x35292b=_0x1244e7['id']+':'+_0x3379da;if(_0x31d3e4['roleKeys']['has'](_0x35292b))continue;_0x31d3e4[_0x52100f(0x1cf)]['add'](_0x35292b),_0x31d3e4[_0x52100f(0x1cc)][_0x52100f(0x1cb)]({'roleId':_0x1244e7['id'],'roleName':nullableText(_0x1244e7[_0x52100f(0x1d6)]),'roleType':nullableText(_0x1244e7[_0x52100f(0x1b7)]),'membershipStatus':_0x3379da});}};for(const _0x19e6c8 of _0x36ded7){_0x654ac6(_0x19e6c8,_0x19e6c8[_0x2e2c41(0x1b2)]??[],_0x2e2c41(0x1c5)),_0x654ac6(_0x19e6c8,_0x19e6c8[_0x2e2c41(0x1d0)]??[],_0x2e2c41(0x1be));}return[..._0x3ca3f6['values']()][_0x2e2c41(0x1b0)](_0x27a829=>({'userId':_0x27a829[_0x2e2c41(0x1c8)],'username':_0x27a829[_0x2e2c41(0x1c7)],'displayName':_0x27a829[_0x2e2c41(0x1d9)],'status':_0x27a829[_0x2e2c41(0x1c0)],'roles':_0x27a829['roles'][_0x2e2c41(0x1ba)]((_0x2ee46c,_0x157ba8)=>_0x2ee46c['roleId']-_0x157ba8[_0x2e2c41(0x1c3)]||(_0x2ee46c[_0x2e2c41(0x1bb)]===_0x157ba8['membershipStatus']?0x0:_0x2ee46c[_0x2e2c41(0x1bb)]===_0x2e2c41(0x1c5)?-0x1:0x1))}))[_0x2e2c41(0x1ba)]((_0x32e168,_0x38d68b)=>_0x32e168[_0x2e2c41(0x1c8)]-_0x38d68b['userId']);}export function enrichAppListItemsWithMergedSelection(_0x79069,_0x25107e){const _0x53dc49=a23_0x5b47;if(!_0x25107e)return;const _0x5ad70b=_0x25107e['apps']&&typeof _0x25107e['apps']==='object'?_0x25107e[_0x53dc49(0x1d4)]:{},_0x7dfe3f=Object[_0x53dc49(0x1d8)](_0x5ad70b)[_0x53dc49(0x1d2)]>0x0;for(const _0x5acf2c of _0x79069){_0x5acf2c['isCurrent']=![];}const _0x553801=_0x25107e[_0x53dc49(0x1ca)]!=null?String(_0x25107e[_0x53dc49(0x1ca)])[_0x53dc49(0x1d7)]():'';if(_0x7dfe3f){const _0x41a642=_0x25107e[_0x53dc49(0x1c1)]??_0x25107e[_0x53dc49(0x1d3)];if(_0x41a642)for(const _0x1cd7e6 of _0x79069){_0x1cd7e6[_0x53dc49(0x1b6)]===!![]&&_0x1cd7e6[_0x53dc49(0x1cd)]===_0x41a642&&(_0x1cd7e6['isCurrent']=!![]);}for(const _0x8f2f5b of _0x79069){if(_0x8f2f5b['named']!==![])continue;if(_0x25107e[_0x53dc49(0x1d3)])continue;_0x553801&&String(_0x8f2f5b[_0x53dc49(0x1bf)]??'')[_0x53dc49(0x1d7)]()===_0x553801&&(_0x8f2f5b[_0x53dc49(0x1bd)]=!![]);}return;}if(!_0x553801)return;for(const _0x38a9c7 of _0x79069){String(_0x38a9c7[_0x53dc49(0x1bf)]??'')[_0x53dc49(0x1d7)]()===_0x553801&&(_0x38a9c7[_0x53dc49(0x1bd)]=!![]);}}export function resolveAppScopeForWrite(_0x35561c,_0x28c27e,_0x36985a){const _0x1caef9=a23_0x5b47;if(_0x28c27e)return'global';const _0xb77924=_0x36985a[_0x1caef9(0x1b8)][_0x1caef9(0x1d4)]&&typeof _0x36985a[_0x1caef9(0x1b8)][_0x1caef9(0x1d4)]===_0x1caef9(0x1b9)?_0x36985a[_0x1caef9(0x1b8)][_0x1caef9(0x1d4)]:{},_0x1ac168=_0x36985a[_0x1caef9(0x1d5)][_0x1caef9(0x1d4)]&&typeof _0x36985a[_0x1caef9(0x1d5)][_0x1caef9(0x1d4)]==='object'?_0x36985a[_0x1caef9(0x1d5)][_0x1caef9(0x1d4)]:{};if(Object['prototype']['hasOwnProperty'][_0x1caef9(0x1b5)](_0xb77924,_0x35561c))return'project';if(Object['prototype'][_0x1caef9(0x1da)][_0x1caef9(0x1b5)](_0x1ac168,_0x35561c))return'global';return _0x1caef9(0x1af);}export function appDefinedIn(_0x194236,_0x2fd3fe,_0x2cac8a){const _0x58c769=a23_0x5b47,_0x16a43f=Object['prototype'][_0x58c769(0x1da)][_0x58c769(0x1b5)](_0x2fd3fe,_0x194236),_0x17b4be=Object[_0x58c769(0x1c2)]['hasOwnProperty'][_0x58c769(0x1b5)](_0x2cac8a,_0x194236);if(_0x16a43f&&_0x17b4be)return'both';if(_0x17b4be)return _0x58c769(0x1af);return _0x58c769(0x1c6);}function a23_0x48e8(){const _0x420b36=['length','defaultApp','apps','globalConfig','roleName','trim','keys','displayName','hasOwnProperty','1581335gPbyYL','9gaYDMg','1531290QGoSrx','isFinite','project','map','15541192Qjkawi','userList','3175182foEQnT','1050864nDbMRo','call','named','roleType','projectConfig','object','sort','membershipStatus','4663463eogJTT','isCurrent','PENDING','appcode','status','currentApp','prototype','roleId','nickname','ACTIVE','global','username','userId','\x20(global)','appCode','push','roles','name','2nZziyO','roleKeys','applyUserList','2637960TdVEgA'];a23_0x48e8=function(){return _0x420b36;};return a23_0x48e8();}export function resolveDefaultAppSource(_0x2ee7a0){const _0x4c23ce=a23_0x5b47,_0xc6b543=_0x2ee7a0[_0x4c23ce(0x1b8)][_0x4c23ce(0x1d4)]&&typeof _0x2ee7a0[_0x4c23ce(0x1b8)][_0x4c23ce(0x1d4)]==='object'?_0x2ee7a0[_0x4c23ce(0x1b8)][_0x4c23ce(0x1d4)]:{};if(_0x4c23ce(0x1d3)in _0x2ee7a0[_0x4c23ce(0x1b8)])return'project';if(Object[_0x4c23ce(0x1d8)](_0xc6b543)[_0x4c23ce(0x1d2)]>0x0)return'project';if(Object['keys'](_0x2ee7a0[_0x4c23ce(0x1b8)])[_0x4c23ce(0x1d2)]===0x0&&_0x2ee7a0['globalConfig']['defaultApp'])return _0x4c23ce(0x1c6);return null;}export function getConfigPath(_0x5db499={}){const _0xe1fa68=a23_0x5b47,_0x4798a9=_0x5db499[_0xe1fa68(0x1c6)]?_0xe1fa68(0x1c6):_0xe1fa68(0x1af);return resolveWriteConfigPath(_0x4798a9);}export function readConfig(_0x29eb34={}){return readConfigFile(getConfigPath(_0x29eb34));}function a23_0x5b47(_0x58e673,_0x23906d){_0x58e673=_0x58e673-0x1ae;const _0x48e89d=a23_0x48e8();let _0x5b47d1=_0x48e89d[_0x58e673];return _0x5b47d1;}export function writeConfig(_0x5f508b,_0x1a674c={}){writeConfigFile(getConfigPath(_0x1a674c),_0x5f508b);}export function scopeLabel(_0x5ba5c1){const _0x4d1e5=a23_0x5b47;return _0x5ba5c1[_0x4d1e5(0x1c6)]?_0x4d1e5(0x1c9):'';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a24_0x494f3a=a24_0xa659;function a24_0xa659(_0x5b7b34,_0x2e3b93){_0x5b7b34=_0x5b7b34-0x1bf;const _0x291146=a24_0x2911();let _0xa659d2=_0x291146[_0x5b7b34];return _0xa659d2;}(function(_0x69bdad,_0x4ef209){const _0x3ea4dd=a24_0xa659,_0x1a563d=_0x69bdad();while(!![]){try{const _0x5e755d=parseInt(_0x3ea4dd(0x1d0))/0x1*(parseInt(_0x3ea4dd(0x1ca))/0x2)+parseInt(_0x3ea4dd(0x1d5))/0x3*(-parseInt(_0x3ea4dd(0x1c3))/0x4)+parseInt(_0x3ea4dd(0x1c4))/0x5*(-parseInt(_0x3ea4dd(0x1c8))/0x6)+parseInt(_0x3ea4dd(0x1c0))/0x7+parseInt(_0x3ea4dd(0x1d2))/0x8+-parseInt(_0x3ea4dd(0x1ce))/0x9+-parseInt(_0x3ea4dd(0x1d6))/0xa*(-parseInt(_0x3ea4dd(0x1c5))/0xb);if(_0x5e755d===_0x4ef209)break;else _0x1a563d['push'](_0x1a563d['shift']());}catch(_0x5add05){_0x1a563d['push'](_0x1a563d['shift']());}}}(a24_0x2911,0x5a11d));import{deleteAppConfig,getAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asAppConfigDryRunResult,buildMutationData,KEY_ARG,projectAppConfig,readKeyArg,withAppConfigApiBoundary}from'../../commands/app-config/shared.js';function a24_0x2911(){const _0x584e4b=['App\x20config\x20server\x20id\x20missing\x20for\x20key=','appCode','30xrAFpl','7819310acqMIY','App\x20config\x20key\x20not\x20found:\x20','1001952LUwDwp','Deleted\x20app\x20config\x20','app-config','128780GbfqQV','5rLUXpk','11OjOHfk','delete','appCode:\x20','3266394jlxull','get','2icfJOT','number','isFinite','apiError','1242882KRXZNh','validation','382111QgWEWU','/smartapi/app-config/delete','529552OKhoVD'];a24_0x2911=function(){return _0x584e4b;};return a24_0x2911();}const DELETE_PATH=a24_0x494f3a(0x1d1);export const appConfigDelete={'service':a24_0x494f3a(0x1c2),'command':'delete','description':'Delete\x20one\x20runtime\x20app-config\x20key','risk':'high-risk-write','args':[KEY_ARG],'flags':[APPCODE_FLAG_OPTIONAL],async 'validate'(_0x13cf1e){readKeyArg(_0x13cf1e);},async 'dryRun'(_0x16055d){const _0x3e162c=a24_0x494f3a,_0x21a807=readKeyArg(_0x16055d),_0x85d5a8=await mustGetByKey(_0x16055d[_0x3e162c(0x1d4)],_0x21a807);return asAppConfigDryRunResult(buildMutationData({'operation':'delete','appCode':_0x16055d[_0x3e162c(0x1d4)],'key':_0x21a807,'before':projectAppConfig(_0x85d5a8),'after':null,'dryRun':!![]}),{'method':'POST','url':DELETE_PATH});},async 'execute'(_0x5634a8){const _0x25506f=a24_0x494f3a,_0x39f7d7=readKeyArg(_0x5634a8),_0x57b7f3=await mustGetByKey(_0x5634a8['appCode'],_0x39f7d7);return await withAppConfigApiBoundary(_0x25506f(0x1c6),{'appCode':_0x5634a8['appCode'],'key':_0x39f7d7},()=>deleteAppConfig({'appCode':_0x5634a8[_0x25506f(0x1d4)],'id':requireAppConfigId(_0x57b7f3,_0x39f7d7,_0x5634a8[_0x25506f(0x1d4)])})),{'ok':!![],'data':buildMutationData({'operation':'delete','appCode':_0x5634a8[_0x25506f(0x1d4)],'key':_0x39f7d7,'before':projectAppConfig(_0x57b7f3),'after':null,'dryRun':![]}),'message':_0x25506f(0x1c1)+_0x39f7d7};}};async function mustGetByKey(_0x240641,_0x31ae34){const _0x22c99c=a24_0x494f3a,_0x245645=await withAppConfigApiBoundary(_0x22c99c(0x1c9),{'appCode':_0x240641,'key':_0x31ae34},()=>getAppConfigByKey(_0x240641,_0x31ae34));if(!_0x245645)throw CliErrors[_0x22c99c(0x1cf)](_0x22c99c(0x1bf)+_0x31ae34,_0x22c99c(0x1c7)+_0x240641);return _0x245645;}function requireAppConfigId(_0x3df931,_0x4d5d8d,_0x235423){const _0x3b220c=a24_0x494f3a;if(typeof _0x3df931['id']===_0x3b220c(0x1cb)&&Number[_0x3b220c(0x1cc)](_0x3df931['id'])&&_0x3df931['id']>0x0)return _0x3df931['id'];throw CliErrors[_0x3b220c(0x1cd)](_0x3b220c(0x1d3)+_0x4d5d8d+',\x20appCode='+_0x235423);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a25_0x389441=a25_0x34c5;(function(_0x3eb10e,_0x4f20c9){const _0x351491=a25_0x34c5,_0x2df58f=_0x3eb10e();while(!![]){try{const _0x3b2e43=parseInt(_0x351491(0x11f))/0x1*(-parseInt(_0x351491(0x122))/0x2)+-parseInt(_0x351491(0x11a))/0x3*(-parseInt(_0x351491(0x119))/0x4)+parseInt(_0x351491(0x126))/0x5*(-parseInt(_0x351491(0x127))/0x6)+-parseInt(_0x351491(0x128))/0x7*(parseInt(_0x351491(0x11c))/0x8)+-parseInt(_0x351491(0x11e))/0x9*(-parseInt(_0x351491(0x125))/0xa)+-parseInt(_0x351491(0x11b))/0xb+parseInt(_0x351491(0x118))/0xc;if(_0x3b2e43===_0x4f20c9)break;else _0x2df58f['push'](_0x2df58f['shift']());}catch(_0x1f9d80){_0x2df58f['push'](_0x2df58f['shift']());}}}(a25_0x213f,0x4f7d2));import{getAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a25_0x34c5(_0x94aff7,_0x3f38e4){_0x94aff7=_0x94aff7-0x114;const _0x213f86=a25_0x213f();let _0x34c5b1=_0x213f86[_0x94aff7];return _0x34c5b1;}function a25_0x213f(){const _0xb78b4a=['\x20with\x20value\x20revealed','validation','read','Loaded\x20app\x20config\x20','get','14484672IpSegF','1158944wVQCYO','3InAnEp','6160792MUIWZv','2146424klrUNC','bool','369nRzQXS','161784vHbEVe','\x20with\x20value\x20redacted','app-config','4VHohaW','reveal','appCode','124730puetgy','28840hvRigX','552BrjIOR','7BQrDFy','appCode:\x20'];a25_0x213f=function(){return _0xb78b4a;};return a25_0x213f();}import{KEY_ARG,projectAppConfig,readKeyArg,REVEAL_FLAG,withAppConfigApiBoundary}from'../../commands/app-config/shared.js';export const appConfigGet={'service':a25_0x389441(0x121),'command':a25_0x389441(0x117),'description':'Inspect\x20one\x20runtime\x20app-config\x20key;\x20value\x20is\x20redacted\x20unless\x20--reveal\x20is\x20used','risk':a25_0x389441(0x115),'args':[KEY_ARG],'flags':[APPCODE_FLAG_OPTIONAL,REVEAL_FLAG],async 'validate'(_0x26bbfa){readKeyArg(_0x26bbfa);},async 'execute'(_0x51de82){const _0x1b3bdc=a25_0x389441,_0x53fe33=readKeyArg(_0x51de82),_0xab2016=await withAppConfigApiBoundary(_0x1b3bdc(0x117),{'appCode':_0x51de82[_0x1b3bdc(0x124)],'key':_0x53fe33},()=>getAppConfigByKey(_0x51de82['appCode'],_0x53fe33));if(!_0xab2016)throw CliErrors[_0x1b3bdc(0x114)]('App\x20config\x20key\x20not\x20found:\x20'+_0x53fe33,_0x1b3bdc(0x129)+_0x51de82[_0x1b3bdc(0x124)]);const _0x2badc9=projectAppConfig(_0xab2016,{'reveal':_0x51de82[_0x1b3bdc(0x11d)](_0x1b3bdc(0x123))});return{'ok':!![],'data':{'config':_0x2badc9},'message':_0x51de82[_0x1b3bdc(0x11d)](_0x1b3bdc(0x123))?_0x1b3bdc(0x116)+_0x53fe33+_0x1b3bdc(0x12a):_0x1b3bdc(0x116)+_0x53fe33+_0x1b3bdc(0x120)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4d8ad2,_0x44d809){const _0x5402e2=a26_0x4795,_0x2bdbf9=_0x4d8ad2();while(!![]){try{const _0x23c374=-parseInt(_0x5402e2(0x1ef))/0x1*(-parseInt(_0x5402e2(0x1f2))/0x2)+-parseInt(_0x5402e2(0x1ee))/0x3+-parseInt(_0x5402e2(0x1f5))/0x4+parseInt(_0x5402e2(0x1f4))/0x5+-parseInt(_0x5402e2(0x1f0))/0x6+parseInt(_0x5402e2(0x1f3))/0x7*(-parseInt(_0x5402e2(0x1f1))/0x8)+parseInt(_0x5402e2(0x1f6))/0x9;if(_0x23c374===_0x44d809)break;else _0x2bdbf9['push'](_0x2bdbf9['shift']());}catch(_0x19d3a2){_0x2bdbf9['push'](_0x2bdbf9['shift']());}}}(a26_0x165a,0x6e4d3));function a26_0x165a(){const _0xf91f47=['44425WBbtfO','427698MSjoYd','72cKDBXB','2yJMiYp','453726QNaSif','1567105PEqBpY','2463252cxJpqJ','12782781WfQYBN','167706biuhsE'];a26_0x165a=function(){return _0xf91f47;};return a26_0x165a();}import{appConfigList}from'../../commands/app-config/list.js';function a26_0x4795(_0x10cec4,_0x215d3f){_0x10cec4=_0x10cec4-0x1ee;const _0x165a2c=a26_0x165a();let _0x4795e0=_0x165a2c[_0x10cec4];return _0x4795e0;}import{appConfigGet}from'../../commands/app-config/get.js';import{appConfigSet}from'../../commands/app-config/set.js';import{appConfigDelete}from'../../commands/app-config/delete.js';export const appConfigDefinitions=[appConfigList,appConfigGet,appConfigSet,appConfigDelete];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a27_0x147dd5=a27_0x37eb;(function(_0x5a66ad,_0x1eebe5){const _0x3ff7ad=a27_0x37eb,_0xdbe985=_0x5a66ad();while(!![]){try{const _0x27804d=parseInt(_0x3ff7ad(0x158))/0x1+-parseInt(_0x3ff7ad(0x15a))/0x2*(parseInt(_0x3ff7ad(0x14a))/0x3)+parseInt(_0x3ff7ad(0x153))/0x4+parseInt(_0x3ff7ad(0x14e))/0x5+parseInt(_0x3ff7ad(0x14c))/0x6+parseInt(_0x3ff7ad(0x14d))/0x7+parseInt(_0x3ff7ad(0x15b))/0x8*(-parseInt(_0x3ff7ad(0x151))/0x9);if(_0x27804d===_0x1eebe5)break;else _0xdbe985['push'](_0xdbe985['shift']());}catch(_0x6f5abb){_0xdbe985['push'](_0xdbe985['shift']());}}}(a27_0x1e1b,0x74006));function a27_0x37eb(_0x10ea66,_0x40ea8b){_0x10ea66=_0x10ea66-0x148;const _0x1e1bac=a27_0x1e1b();let _0x37eb56=_0x1e1bac[_0x10ea66];return _0x37eb56;}import{listAppConfigs}from'../../core/api-client.js';function a27_0x1e1b(){const _0x5f78fb=['99LsVpEL','list','1238676LbBrRz','410725QnBAoD','2042815JqJgpR','trim','List\x20runtime\x20app-config\x20key\x20metadata\x20without\x20printing\x20values','15523821xSbwMc','string','3732252BjJCtV','appCode','app-config','key','read','691703RwVmbA','Filter\x20by\x20exact\x20config\x20key','5966opyRtR','8InNgkx','\x20app\x20config(s)','length'];a27_0x1e1b=function(){return _0x5f78fb;};return a27_0x1e1b();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectAppConfig,readOptionalTags,TAGS_FLAG,validateKey,withAppConfigApiBoundary}from'../../commands/app-config/shared.js';export const appConfigList={'service':a27_0x147dd5(0x155),'command':'list','description':a27_0x147dd5(0x150),'risk':a27_0x147dd5(0x157),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a27_0x147dd5(0x156),'type':a27_0x147dd5(0x152),'description':a27_0x147dd5(0x159)},TAGS_FLAG],async 'validate'(_0x234397){const _0x409856=a27_0x147dd5,_0x3a9a55=_0x234397['str'](_0x409856(0x156))[_0x409856(0x14f)]();if(_0x3a9a55)validateKey(_0x3a9a55);readOptionalTags(_0x234397);},async 'execute'(_0x4289d5){const _0x3cc01c=a27_0x147dd5,_0x1c5439=_0x4289d5['str']('key')[_0x3cc01c(0x14f)]()||undefined,_0x1947be=readOptionalTags(_0x4289d5),_0x3586ec=await withAppConfigApiBoundary(_0x3cc01c(0x14b),{'appCode':_0x4289d5[_0x3cc01c(0x154)]},()=>listAppConfigs(_0x4289d5[_0x3cc01c(0x154)],{'key':_0x1c5439,'tags':_0x1947be})),_0x210d2c=_0x3586ec['map'](_0x4e49c4=>projectAppConfig(_0x4e49c4));return{'ok':!![],'data':{'appCode':_0x4289d5[_0x3cc01c(0x154)],'count':_0x210d2c[_0x3cc01c(0x149)],'configs':_0x210d2c},'message':'Found\x20'+_0x210d2c['length']+_0x3cc01c(0x148)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a28_0xecb73b=a28_0x4f94;function a28_0x2ecc(){const _0x550b83=['set','number','tags','126751AqVPcQ','25sYgroK','33683576YfCzBw','file','app-config','appCode','update','5988054uVAEpL','858980uUzTrB','Created','/smartapi/app-config/create','4390578kOfFFa','Updated','get','7634046mLGtQD','POST','string','1910018UqToAx','create',',\x20appCode=','/smartapi/app-config/update','write','Create\x20or\x20update\x20one\x20runtime\x20app-config\x20key','isFinite'];a28_0x2ecc=function(){return _0x550b83;};return a28_0x2ecc();}(function(_0x47b6d0,_0x5aaf6d){const _0x44183a=a28_0x4f94,_0x32ba2b=_0x47b6d0();while(!![]){try{const _0x5ad59c=parseInt(_0x44183a(0x13e))/0x1+-parseInt(_0x44183a(0x14f))/0x2+-parseInt(_0x44183a(0x149))/0x3+-parseInt(_0x44183a(0x146))/0x4*(parseInt(_0x44183a(0x13f))/0x5)+parseInt(_0x44183a(0x145))/0x6+-parseInt(_0x44183a(0x14c))/0x7+parseInt(_0x44183a(0x140))/0x8;if(_0x5ad59c===_0x5aaf6d)break;else _0x32ba2b['push'](_0x32ba2b['shift']());}catch(_0x5294c9){_0x32ba2b['push'](_0x32ba2b['shift']());}}}(a28_0x2ecc,0xb7af1));import{createAppConfig,getAppConfigByKey,updateAppConfig}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertSingleValueSource,assertValueSourceReadable,asAppConfigDryRunResult,buildMutationData,FROM_ENV_FLAG,KEY_ARG,plannedAppConfig,projectAppConfig,readAppConfigValue,readKeyArg,readOptionalTags,STDIN_FLAG,TAGS_FLAG,VALUE_ARG,withAppConfigApiBoundary}from'../../commands/app-config/shared.js';const CREATE_PATH=a28_0xecb73b(0x148),UPDATE_PATH=a28_0xecb73b(0x152);export const appConfigSet={'service':a28_0xecb73b(0x142),'command':a28_0xecb73b(0x156),'description':a28_0xecb73b(0x154),'risk':a28_0xecb73b(0x153),'args':[KEY_ARG,VALUE_ARG],'flags':[APPCODE_FLAG_OPTIONAL,TAGS_FLAG,STDIN_FLAG,FROM_ENV_FLAG,{'name':a28_0xecb73b(0x141),'type':a28_0xecb73b(0x14e),'description':'Read\x20config\x20value\x20from\x20file'}],async 'validate'(_0x604a82){readKeyArg(_0x604a82),readOptionalTags(_0x604a82),assertSingleValueSource(_0x604a82);},async 'dryRun'(_0x2cbdd3){const _0x74b5b2=a28_0xecb73b,_0x24a0fe=readKeyArg(_0x2cbdd3),_0x250b81=readOptionalTags(_0x2cbdd3),_0x5a2a5d=assertSingleValueSource(_0x2cbdd3);await assertValueSourceReadable(_0x5a2a5d);const _0xc3b82a=await withAppConfigApiBoundary(_0x74b5b2(0x14b),{'appCode':_0x2cbdd3[_0x74b5b2(0x143)],'key':_0x24a0fe},()=>getAppConfigByKey(_0x2cbdd3[_0x74b5b2(0x143)],_0x24a0fe)),_0x462ea8=_0xc3b82a?_0x74b5b2(0x144):_0x74b5b2(0x150),_0x3888d5=_0xc3b82a?projectAppConfig(_0xc3b82a):null,_0x4d6792=plannedAppConfig({'appCode':_0x2cbdd3[_0x74b5b2(0x143)],'key':_0x24a0fe,'tags':_0x250b81??_0xc3b82a?.[_0x74b5b2(0x13d)],'hasValue':!![]});return asAppConfigDryRunResult(buildMutationData({'operation':_0x462ea8,'appCode':_0x2cbdd3[_0x74b5b2(0x143)],'key':_0x24a0fe,'before':_0x3888d5,'after':_0x4d6792,'dryRun':!![]}),{'method':_0x74b5b2(0x14d),'url':_0x462ea8===_0x74b5b2(0x144)?UPDATE_PATH:CREATE_PATH});},async 'execute'(_0x4cec32){const _0x3b6598=a28_0xecb73b,_0x238cd3=readKeyArg(_0x4cec32),_0x57dec1=readOptionalTags(_0x4cec32),_0x169a69=await withAppConfigApiBoundary(_0x3b6598(0x14b),{'appCode':_0x4cec32[_0x3b6598(0x143)],'key':_0x238cd3},()=>getAppConfigByKey(_0x4cec32['appCode'],_0x238cd3)),_0x243ca1=_0x169a69?projectAppConfig(_0x169a69):null,_0x5de076=_0x169a69?'update':'create',{value:_0x46fb45,warnings:_0x1e3c1b}=await readAppConfigValue(_0x4cec32),_0x4fb801={'appCode':_0x4cec32[_0x3b6598(0x143)],'key':_0x238cd3,'value':_0x46fb45,'tags':_0x57dec1??_0x169a69?.['tags']??undefined};await withAppConfigApiBoundary(_0x5de076,{'appCode':_0x4cec32[_0x3b6598(0x143)],'key':_0x238cd3},async()=>{const _0x4b3a98=_0x3b6598;_0x169a69?await updateAppConfig({..._0x4fb801,'id':requireAppConfigId(_0x169a69,_0x238cd3,_0x4cec32[_0x4b3a98(0x143)])}):await createAppConfig(_0x4fb801);});const _0x240221=await withAppConfigApiBoundary('get',{'appCode':_0x4cec32[_0x3b6598(0x143)],'key':_0x238cd3},()=>getAppConfigByKey(_0x4cec32['appCode'],_0x238cd3)),_0x30b831=_0x240221?projectAppConfig(_0x240221):plannedAppConfig({'appCode':_0x4cec32['appCode'],'key':_0x238cd3,'tags':_0x4fb801[_0x3b6598(0x13d)],'hasValue':_0x46fb45!==''});return{'ok':!![],'data':buildMutationData({'operation':_0x5de076,'appCode':_0x4cec32[_0x3b6598(0x143)],'key':_0x238cd3,'before':_0x243ca1,'after':_0x30b831,'dryRun':![],'warnings':_0x1e3c1b}),'message':(_0x5de076===_0x3b6598(0x144)?_0x3b6598(0x14a):_0x3b6598(0x147))+'\x20app\x20config\x20'+_0x238cd3};}};function a28_0x4f94(_0x43d524,_0x5178a3){_0x43d524=_0x43d524-0x13c;const _0x2ecceb=a28_0x2ecc();let _0x4f94b6=_0x2ecceb[_0x43d524];return _0x4f94b6;}function requireAppConfigId(_0x519788,_0x6f3481,_0xd333c){const _0x55bdf4=a28_0xecb73b;if(typeof _0x519788['id']===_0x55bdf4(0x13c)&&Number[_0x55bdf4(0x155)](_0x519788['id'])&&_0x519788['id']>0x0)return _0x519788['id'];throw CliErrors['apiError']('App\x20config\x20server\x20id\x20missing\x20for\x20key='+_0x6f3481+_0x55bdf4(0x151)+_0xd333c);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a29_0x253a49=a29_0x558f;(function(_0x34a63c,_0x4ff86a){const _0x425477=a29_0x558f,_0x4d8a66=_0x34a63c();while(!![]){try{const _0x2ab066=parseInt(_0x425477(0x189))/0x1+-parseInt(_0x425477(0x1a5))/0x2+parseInt(_0x425477(0x1a4))/0x3+-parseInt(_0x425477(0x1ad))/0x4+-parseInt(_0x425477(0x192))/0x5*(parseInt(_0x425477(0x1a7))/0x6)+parseInt(_0x425477(0x17f))/0x7+parseInt(_0x425477(0x1ae))/0x8;if(_0x2ab066===_0x4ff86a)break;else _0x4d8a66['push'](_0x4d8a66['shift']());}catch(_0x539ae3){_0x4d8a66['push'](_0x4d8a66['shift']());}}}(a29_0x1ff5,0x7e64c));import{access,readFile}from'node:fs/promises';import{CliErrors}from'../../errors.js';export const KEY_ARG={'name':'key','description':a29_0x253a49(0x1a3),'required':!![]};export const VALUE_ARG={'name':a29_0x253a49(0x19c),'description':'Sensitive\x20config\x20value.\x20Prefer\x20--stdin,\x20--from-env,\x20or\x20--file\x20for\x20secrets.','required':![]};export const TAGS_FLAG={'name':a29_0x253a49(0x172),'type':a29_0x253a49(0x194),'description':'Config\x20tags\x20for\x20filtering/display\x20metadata'};export const STDIN_FLAG={'name':a29_0x253a49(0x193),'type':a29_0x253a49(0x174),'description':a29_0x253a49(0x18e),'default':![]};export const FROM_ENV_FLAG={'name':'from-env','type':a29_0x253a49(0x194),'description':a29_0x253a49(0x178)};export const REVEAL_FLAG={'name':a29_0x253a49(0x187),'type':a29_0x253a49(0x174),'description':a29_0x253a49(0x170),'default':![]};export function readKeyArg(_0x3053d1){const _0x50615b=a29_0x253a49,_0x524136=_0x3053d1[_0x50615b(0x1a1)][0x0]?.[_0x50615b(0x182)]()??'';return validateKey(_0x524136),_0x524136;}export function readOptionalTags(_0x91427d){const _0x21d39c=a29_0x253a49,_0x59d943=_0x91427d[_0x21d39c(0x17d)](_0x21d39c(0x172))[_0x21d39c(0x182)]();if(!_0x59d943)return undefined;if(_0x59d943[_0x21d39c(0x1a6)]>0x20)throw CliErrors['validation'](_0x21d39c(0x184));return _0x59d943;}function a29_0x1ff5(){const _0x468126=['utf8','Value\x20was\x20provided\x20as\x20a\x20command\x20argument;\x20prefer\x20--stdin,\x20--from-env,\x20or\x20--file\x20for\x20secrets.','hasValue','valueRedacted','3622152tBdJvk','7929496bZxOxs','from-env','join','kind','Reveal\x20the\x20sensitive\x20value\x20for\x20this\x20single\x20key','bool','tags','value\x20is\x20redacted','boolean','name','key','operation','Read\x20config\x20value\x20from\x20the\x20named\x20environment\x20variable','end','url','push','key:\x20','str','error','5977559LEXBie','setEncoding','\x20app\x20config.','trim','flag','App\x20config\x20tags\x20length\x20cannot\x20exceed\x2032.','file','warnings','reveal','Failed\x20to\x20','334095ZnMkiW','apiError','validation','Missing\x20app-config\x20key.','App\x20config\x20key\x20length\x20cannot\x20exceed\x20256.','Read\x20config\x20value\x20from\x20stdin','slice','Missing\x20app-config\x20value\x20source.','Use\x20exactly\x20one\x20of:\x20positional\x20<value>,\x20--stdin,\x20--from-env\x20<NAME>,\x20or\x20--file\x20<path>.','4955PzDUVW','stdin','string','dryRun','env','gmtModified','defineProperties','argument','appCode','path','value','before','Value\x20file\x20is\x20not\x20readable:\x20','once','App\x20config\x20value\x20source\x20is\x20ambiguous.','args','Environment\x20variable\x20is\x20not\x20set:\x20','Runtime\x20app-config\x20key','1164027wgYhPq','1152278WdACxV','length','3438sdnjNu','Use\x20one\x20of:\x20positional\x20<value>,\x20--stdin,\x20--from-env\x20<NAME>,\x20or\x20--file\x20<path>.'];a29_0x1ff5=function(){return _0x468126;};return a29_0x1ff5();}export function validateKey(_0x337990){const _0x4b34c1=a29_0x253a49;if(!_0x337990)throw CliErrors['validation'](_0x4b34c1(0x18c));if(_0x337990['length']>0x100)throw CliErrors[_0x4b34c1(0x18b)](_0x4b34c1(0x18d));}export function projectAppConfig(_0x5ee481,_0x43fa81){const _0x3a58a8=a29_0x253a49,_0xf49327=_0x5ee481['value']!==undefined&&_0x5ee481[_0x3a58a8(0x19c)]!==null&&_0x5ee481[_0x3a58a8(0x19c)]!=='',_0x2437bd={'appCode':_0x5ee481[_0x3a58a8(0x19a)],'key':_0x5ee481[_0x3a58a8(0x176)],'tags':_0x5ee481[_0x3a58a8(0x172)]??undefined,'hasValue':_0xf49327,'valueRedacted':_0xf49327&&!_0x43fa81?.[_0x3a58a8(0x187)],'gmtCreate':_0x5ee481['gmtCreate'],'gmtModified':_0x5ee481[_0x3a58a8(0x197)]};return _0x43fa81?.[_0x3a58a8(0x187)]&&(_0x2437bd[_0x3a58a8(0x19c)]=_0x5ee481[_0x3a58a8(0x19c)]??'',_0x2437bd[_0x3a58a8(0x1ac)]=![]),_0x2437bd;}export function plannedAppConfig(_0x42042b){const _0x2bd10b=a29_0x253a49,_0x294b63=_0x42042b[_0x2bd10b(0x1ab)]??!![];return{'appCode':_0x42042b[_0x2bd10b(0x19a)],'key':_0x42042b[_0x2bd10b(0x176)],'tags':_0x42042b[_0x2bd10b(0x172)]??undefined,'hasValue':_0x294b63,'valueRedacted':_0x294b63};}export function buildMutationData(_0x5ebd38){const _0x2741fb=a29_0x253a49;return{'operation':_0x5ebd38[_0x2741fb(0x177)],'selector':{'appCode':_0x5ebd38[_0x2741fb(0x19a)],'key':_0x5ebd38[_0x2741fb(0x176)]},'before':_0x5ebd38[_0x2741fb(0x19d)],'after':_0x5ebd38['after'],'dryRun':_0x5ebd38[_0x2741fb(0x195)],'warnings':_0x5ebd38[_0x2741fb(0x186)]??[]};}export async function withAppConfigApiBoundary(_0x1f245b,_0x27c9cd,_0x1b98d1){const _0x3fb997=a29_0x253a49;try{return await _0x1b98d1();}catch{const _0x16f29a=['appCode:\x20'+_0x27c9cd[_0x3fb997(0x19a)]];if(_0x27c9cd[_0x3fb997(0x176)])_0x16f29a[_0x3fb997(0x17b)](_0x3fb997(0x17c)+_0x27c9cd[_0x3fb997(0x176)]);_0x16f29a[_0x3fb997(0x17b)](_0x3fb997(0x173));throw CliErrors[_0x3fb997(0x18a)](_0x3fb997(0x188)+_0x1f245b+_0x3fb997(0x181),_0x16f29a[_0x3fb997(0x16e)](';\x20')+'.');}}export function asAppConfigDryRunResult(_0x324eb1,_0x44eedc){const _0x4417eb=a29_0x253a49;return Object[_0x4417eb(0x198)](_0x324eb1,{'method':{'value':_0x44eedc['method'],'enumerable':![]},'url':{'value':_0x44eedc[_0x4417eb(0x17a)],'enumerable':![]}});}export function assertSingleValueSource(_0x33d613){const _0x395914=a29_0x253a49,_0x49b034=[];_0x33d613['args'][_0x395914(0x1a6)]>0x1&&_0x49b034[_0x395914(0x17b)]({'kind':_0x395914(0x199),'value':_0x33d613['args'][_0x395914(0x18f)](0x1)['join']('\x20')});const _0x4a9884=_0x33d613[_0x395914(0x183)](_0x395914(0x19c));_0x4a9884!==undefined&&_0x4a9884!==null&&_0x49b034[_0x395914(0x17b)]({'kind':_0x395914(0x199),'value':String(_0x4a9884)});_0x33d613[_0x395914(0x171)](_0x395914(0x193))&&_0x49b034[_0x395914(0x17b)]({'kind':_0x395914(0x193)});const _0x3f72ce=_0x33d613[_0x395914(0x17d)](_0x395914(0x1af))[_0x395914(0x182)]();_0x3f72ce&&_0x49b034[_0x395914(0x17b)]({'kind':_0x395914(0x196),'name':_0x3f72ce});const _0x302722=_0x33d613['str'](_0x395914(0x185))[_0x395914(0x182)]();_0x302722&&_0x49b034[_0x395914(0x17b)]({'kind':_0x395914(0x185),'path':_0x302722});if(_0x49b034['length']===0x0)throw CliErrors[_0x395914(0x18b)](_0x395914(0x190),_0x395914(0x1a8));if(_0x49b034[_0x395914(0x1a6)]>0x1)throw CliErrors[_0x395914(0x18b)](_0x395914(0x1a0),_0x395914(0x191));return _0x49b034[0x0];}export async function assertValueSourceReadable(_0x2fc45d){const _0x1075c4=a29_0x253a49;if(_0x2fc45d[_0x1075c4(0x16f)]==='env'&&!(_0x2fc45d[_0x1075c4(0x175)]in process.env))throw CliErrors[_0x1075c4(0x18b)](_0x1075c4(0x1a2)+_0x2fc45d[_0x1075c4(0x175)]);if(_0x2fc45d[_0x1075c4(0x16f)]===_0x1075c4(0x185))try{await access(_0x2fc45d[_0x1075c4(0x19b)]);}catch{throw CliErrors[_0x1075c4(0x18b)](_0x1075c4(0x19e)+_0x2fc45d[_0x1075c4(0x19b)]);}}export async function readAppConfigValue(_0x39d7ab){const _0x20e729=a29_0x253a49,_0x49b983=assertSingleValueSource(_0x39d7ab),_0xb6e5dc=[];if(_0x49b983[_0x20e729(0x16f)]===_0x20e729(0x199))return _0xb6e5dc[_0x20e729(0x17b)](_0x20e729(0x1aa)),{'value':_0x49b983[_0x20e729(0x19c)]??'','source':_0x49b983[_0x20e729(0x16f)],'warnings':_0xb6e5dc};if(_0x49b983['kind']===_0x20e729(0x193))return{'value':await readStdin(),'source':_0x49b983['kind'],'warnings':_0xb6e5dc};if(_0x49b983[_0x20e729(0x16f)]===_0x20e729(0x196)){if(!(_0x49b983[_0x20e729(0x175)]in process.env))throw CliErrors[_0x20e729(0x18b)](_0x20e729(0x1a2)+_0x49b983[_0x20e729(0x175)]);return{'value':process.env[_0x49b983.name]??'','source':_0x49b983['kind'],'warnings':_0xb6e5dc};}return{'value':await readFile(_0x49b983['path'],'utf8'),'source':_0x49b983[_0x20e729(0x16f)],'warnings':_0xb6e5dc};}function a29_0x558f(_0x18e953,_0x501d98){_0x18e953=_0x18e953-0x16e;const _0x1ff56b=a29_0x1ff5();let _0x558f54=_0x1ff56b[_0x18e953];return _0x558f54;}function readStdin(){return new Promise((_0x564293,_0x35c33f)=>{const _0x392844=a29_0x558f;let _0x10bdb7='';process[_0x392844(0x193)][_0x392844(0x180)](_0x392844(0x1a9)),process[_0x392844(0x193)]['on']('data',_0x5b7d9c=>{_0x10bdb7+=_0x5b7d9c;}),process['stdin'][_0x392844(0x19f)](_0x392844(0x179),()=>_0x564293(_0x10bdb7)),process[_0x392844(0x193)]['once'](_0x392844(0x17e),_0x35c33f);});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a30_0x99e8(){const _0x1524f3=['boolean','logout','1842plATQC','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','yes','1116510aYDWxG','1664QmDldP','262262hXmxpm','812pvZrTl','Login\x20via\x20browser','33dtkGza','login','1536VKlZlG','!\x20Not\x20logged\x20in','auth','1210PfdrlN','nonInteractive','264667gGfMKH','792675zfFjhP','write','log','6544LZUYsj'];a30_0x99e8=function(){return _0x1524f3;};return a30_0x99e8();}const a30_0xf337b1=a30_0x265a;(function(_0x19058b,_0x69648b){const _0x3ce3a2=a30_0x265a,_0x12cc38=_0x19058b();while(!![]){try{const _0x341964=parseInt(_0x3ce3a2(0x9d))/0x1+-parseInt(_0x3ce3a2(0x93))/0x2+parseInt(_0x3ce3a2(0x8e))/0x3*(-parseInt(_0x3ce3a2(0x92))/0x4)+-parseInt(_0x3ce3a2(0x9b))/0x5*(parseInt(_0x3ce3a2(0x98))/0x6)+-parseInt(_0x3ce3a2(0x94))/0x7*(parseInt(_0x3ce3a2(0xa1))/0x8)+parseInt(_0x3ce3a2(0x9e))/0x9+-parseInt(_0x3ce3a2(0x91))/0xa*(-parseInt(_0x3ce3a2(0x96))/0xb);if(_0x341964===_0x69648b)break;else _0x12cc38['push'](_0x12cc38['shift']());}catch(_0x544c02){_0x12cc38['push'](_0x12cc38['shift']());}}}(a30_0x99e8,0x233ac));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';function a30_0x265a(_0x12955b,_0x27be51){_0x12955b=_0x12955b-0x8d;const _0x99e8e8=a30_0x99e8();let _0x265a0a=_0x99e8e8[_0x12955b];return _0x265a0a;}export const authDefinitions=[{'service':a30_0xf337b1(0x9a),'command':a30_0xf337b1(0x97),'description':a30_0xf337b1(0x95),'risk':a30_0xf337b1(0x9f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'yes','type':a30_0xf337b1(0xa2),'description':a30_0xf337b1(0x8f),'default':![]}],async 'execute'(_0x436638){const _0xf9e7f6=a30_0xf337b1,{runAuthServer:_0x1fc9a2}=await import('../../auth/auth-server-ui.js');return await _0x1fc9a2({'autoYes':_0x436638['bool'](_0xf9e7f6(0x90)),'nonInteractive':_0x436638[_0xf9e7f6(0x9c)]}),{'ok':!![]};}},{'service':a30_0xf337b1(0x9a),'command':a30_0xf337b1(0x8d),'description':'Clear\x20login\x20session','risk':a30_0xf337b1(0x9f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x6d6928){const _0x23c167=a30_0xf337b1;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x23c167(0xa0)]('✓\x20Logged\x20out')):console['log'](_0x23c167(0x99)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a30_0x139da6=a30_0x364a;(function(_0x42958d,_0xf1d4cf){const _0x5abcca=a30_0x364a,_0x13dd92=_0x42958d();while(!![]){try{const _0x30982f=parseInt(_0x5abcca(0x16e))/0x1*(-parseInt(_0x5abcca(0x163))/0x2)+-parseInt(_0x5abcca(0x174))/0x3+-parseInt(_0x5abcca(0x191))/0x4*(-parseInt(_0x5abcca(0x1b8))/0x5)+parseInt(_0x5abcca(0x1bc))/0x6+parseInt(_0x5abcca(0x1b6))/0x7*(-parseInt(_0x5abcca(0x16f))/0x8)+parseInt(_0x5abcca(0x1a5))/0x9+parseInt(_0x5abcca(0x18b))/0xa;if(_0x30982f===_0xf1d4cf)break;else _0x13dd92['push'](_0x13dd92['shift']());}catch(_0xc51bda){_0x13dd92['push'](_0x13dd92['shift']());}}}(a30_0x4367,0x1dc5b));import{createInterface}from'node:readline';function a30_0x364a(_0x432628,_0x4c4a2f){_0x432628=_0x432628-0x156;const _0x436720=a30_0x4367();let _0x364a17=_0x436720[_0x432628];return _0x364a17;}import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';function a30_0x4367(){const _0x216698=['type','/ENDPOINT/','Alias\x20\x22','No\x20datasets\x20found\x20for\x20this\x20app.','after','function-node','ENDPOINT','Script\x20description','修改后的响应结果','\x0a\x20*\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[脚本名称]\x20','\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','\x0a\x20*\x20[平台配置]\x20','.js\x0a','nonInteractive','Created\x20','isInteger','1414xIXWyn','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','110785huUYMH','datasetCode','Select\x20dataset:','operationType','503172fGCwkf','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','Scaffold\x20a\x20new\x20Backend\x20Function\x20script\x20from\x20template','File\x20already\x20exists:\x20','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','/**\x0a\x20*\x20','description','Script\x20type','alias','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','\x0a\x20*\x20[参数字段]\x20按实际输入为\x20params.<字段名>\x20补充\x20JSDoc\x20参数标签;无字段时仅保留根参数\x0a\x20*\x20[异常说明]\x20无;显式抛出异常时补充异常类型与触发条件\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20','datasetId','str','\x0a\x20*\x0a\x20*\x20[脚本类型]\x20HOOK\x0a\x20*\x20[脚本名称]\x20','name','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','find','map','2kolSEW','当前响应结果','COMMON','\x22\x20not\x20found.\x20','apiDir','scriptsRootDir','stdin','修改后的请求参数','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','Select\x20operation\x20type:','UNKNOWN','93089COhFWB','520nHKhUM','\x22.\x20','Select\x20trigger\x20node:','#api-list\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','694836KfdwVw','validation','/COMMON/','string','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','appCode','stderr','tableName','bff','length','No\x20api.ts\x20found.\x20Run\x20`','Operation\x20type\x20\x22','functionNode','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','write','datasetcode','Available\x20aliases:\x20','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','.js','当前请求参数','/HOOK/','close','trim','972800WnXcXV','source','read','/data/backend-function\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/','create','Function\x20name\x20(valid\x20JS\x20identifier)','36wabjlo','entries','Available:\x20','\x20api\x20pull`\x20to\x20refresh.','HOOK','operation-type','No\x20operation\x20types\x20found\x20for\x20dataset\x20','\x20function:\x20','code','Invalid\x20dataset\x20selection.','\x0a\x20*\x20[参数字段]\x20按实际输入为\x20params.<字段名>\x20补充\x20JSDoc\x20参数标签;无字段时仅保留根参数\x0a\x20*\x20[异常说明]\x20无;显式抛出异常时补充异常类型与触发条件\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20请求参数\x0a\x20*\x20@param\x20{Object}\x20context\x20平台注入的执行上下文\x0a\x20*\x20@returns\x20{Promise<Object>}\x20TODO:\x20补充返回数据结构\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','.js\x0a\x20*\x20[调用方式]\x20context.client.bff.execute({\x20scriptName:\x20\x22','\x0a\x20*\x20[参数字段]\x20按实际请求体为\x20params.<字段名>\x20补充\x20JSDoc\x20参数标签;无字段时仅保留根参数\x0a\x20*\x20[异常说明]\x20无;显式抛出异常时补充异常类型与触发条件\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20HTTP\x20请求体参数\x0a\x20*\x20@param\x20{Object}\x20context\x20平台注入的执行上下文\x0a\x20*\x20@returns\x20{Promise<Object>}\x20TODO:\x20补充业务返回数据结构\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','\x0a\x20*\x0a\x20*\x20[脚本类型]\x20ENDPOINT\x0a\x20*\x20[脚本名称]\x20','\x20*\x20[依赖数据集]\x20无(如有依赖,填写数据集编码与用途)\x0a\x20*\x20[调用\x20BF]\x20无(如有调用,填写脚本名称与用途)\x0a\x20*\x20[执行\x20SQL]\x20无(如有执行,填写\x20SQL\x20类型与用途)\x0a\x20*\x20[副作用]\x20无(如有通知或外部调用,说明影响与失败策略)','Dataset\x20not\x20found\x20for\x20code\x20\x22','before','\x0a\x20*\x20@param\x20{Object}\x20context\x20平台注入的执行上下文\x0a\x20*\x20@returns\x20{Promise<Object>}\x20','join','713007pkVqeo'];a30_0x4367=function(){return _0x216698;};return a30_0x4367();}import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{DEFAULT_BFF_SCRIPT_DESCRIPTION,isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{getAppBaseUrl}from'../../constant/domain.js';export const bffCreate={'service':a30_0x139da6(0x17c),'command':a30_0x139da6(0x18f),'description':a30_0x139da6(0x1be),'risk':a30_0x139da6(0x18d),'flags':[{'name':a30_0x139da6(0x1a6),'type':a30_0x139da6(0x177),'required':!![],'enum':['COMMON',a30_0x139da6(0x1ac),a30_0x139da6(0x195)],'description':a30_0x139da6(0x158)},{'name':a30_0x139da6(0x15f),'type':a30_0x139da6(0x177),'required':!![],'description':a30_0x139da6(0x190)},{'name':a30_0x139da6(0x157),'type':a30_0x139da6(0x177),'description':a30_0x139da6(0x1ad)},{'name':a30_0x139da6(0x159),'type':'string','description':a30_0x139da6(0x160)},{'name':a30_0x139da6(0x183),'type':a30_0x139da6(0x177),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a30_0x139da6(0x196),'type':a30_0x139da6(0x177),'description':'Operation\x20type\x20(HOOK\x20only)'},{'name':'function-node','type':'string','description':'Trigger\x20node\x20(HOOK\x20only)','enum':['before',a30_0x139da6(0x1aa)]}],async 'validate'(_0x33efc5){const _0x2c4d51=a30_0x139da6,_0x3615b2=_0x33efc5[_0x2c4d51(0x15d)](_0x2c4d51(0x15f));if(!isValidBffFunctionName(_0x3615b2))throw CliErrors[_0x2c4d51(0x175)]('Invalid\x20function\x20name\x20\x22'+_0x3615b2+_0x2c4d51(0x178));},async 'execute'(_0x180ddf){const _0x38a261=a30_0x139da6,_0x4c67e3=loadBffProjectConfig(_0x180ddf['appCode']),_0x59a3dd=_0x180ddf[_0x38a261(0x15d)]('type'),_0x45793d=_0x180ddf[_0x38a261(0x15d)]('name'),_0x4b7584=_0x180ddf[_0x38a261(0x15d)]('description')||undefined,_0x5564d9=_0x59a3dd===_0x38a261(0x195)?await resolveHookOptions(_0x4c67e3,_0x180ddf):undefined,_0x54af10=buildFilePath(_0x4c67e3,_0x59a3dd,_0x45793d,_0x5564d9);if(await fileExists(_0x54af10))throw CliErrors[_0x38a261(0x175)](_0x38a261(0x1bf)+_0x54af10);await mkdir(dirname(_0x54af10),{'recursive':!![]});const _0x2a170b=generateTemplate(_0x59a3dd,_0x45793d,_0x180ddf[_0x38a261(0x179)],_0x4b7584,_0x5564d9);await writeFile(_0x54af10,_0x2a170b,'utf8');const _0x118e76={'type':_0x59a3dd,'name':_0x45793d,'path':_0x54af10};if(_0x4b7584)_0x118e76['description']=_0x4b7584;if(_0x5564d9){if(_0x5564d9[_0x38a261(0x159)])_0x118e76['alias']=_0x5564d9[_0x38a261(0x159)];_0x118e76['datasetCode']=_0x5564d9[_0x38a261(0x1b9)],_0x118e76[_0x38a261(0x1bb)]=_0x5564d9[_0x38a261(0x1bb)],_0x118e76[_0x38a261(0x180)]=_0x5564d9[_0x38a261(0x180)];}return{'ok':!![],'data':_0x118e76,'message':_0x38a261(0x1b4)+_0x59a3dd+_0x38a261(0x198)+_0x45793d};}};async function resolveHookOptions(_0x29cea3,_0x33d448){const _0x47e6bc=a30_0x139da6,_0x43922f=loadAliasMap(_0x33d448[_0x47e6bc(0x167)],undefined,resolveApiFilePath(_0x33d448[_0x47e6bc(0x167)],_0x33d448[_0x47e6bc(0x179)])),_0x1c2614=_0x43922f[_0x47e6bc(0x17d)]>0x0;let _0x4fad0d,_0x1ccf59,_0x4f97e0;const _0x555c15=_0x33d448[_0x47e6bc(0x15d)](_0x47e6bc(0x159)),_0x33d43c=_0x33d448['str'](_0x47e6bc(0x183));if(_0x555c15){const _0x521c37=resolveAlias(_0x33d448[_0x47e6bc(0x167)],_0x555c15,undefined,resolveApiFilePath(_0x33d448[_0x47e6bc(0x167)],_0x33d448[_0x47e6bc(0x179)]));if(!_0x521c37){const _0x4167c5=_0x1c2614?_0x47e6bc(0x184)+_0x43922f[_0x47e6bc(0x162)](_0x2b7618=>_0x2b7618[_0x47e6bc(0x159)])[_0x47e6bc(0x1a4)](',\x20'):_0x47e6bc(0x17e)+CLI_BIN_NAME+_0x47e6bc(0x1bd);throw CliErrors[_0x47e6bc(0x175)](_0x47e6bc(0x1a8)+_0x555c15+_0x47e6bc(0x166)+_0x4167c5);}_0x4fad0d=_0x555c15,_0x1ccf59=_0x521c37;}else{if(_0x33d43c){_0x1ccf59=_0x33d43c;const _0x3231da=_0x43922f[_0x47e6bc(0x161)](_0x3cfc42=>_0x3cfc42['datasetCode']===_0x33d43c);_0x4fad0d=_0x3231da?.['alias'];}else{if(_0x33d448[_0x47e6bc(0x1b3)])throw CliErrors[_0x47e6bc(0x175)](_0x47e6bc(0x19e));else{if(_0x1c2614){const _0x4aad67=_0x43922f['map'](_0x1da85e=>_0x1da85e['alias']+'\x20('+_0x1da85e[_0x47e6bc(0x17b)]+')'),_0x39d2c7=await promptSelect(_0x47e6bc(0x1ba),_0x4aad67),_0x4b75cc=_0x43922f[_0x39d2c7];if(!_0x4b75cc)throw CliErrors['validation'](_0x47e6bc(0x19a));_0x4fad0d=_0x4b75cc['alias'],_0x1ccf59=_0x4b75cc[_0x47e6bc(0x1b9)];}else{const _0xee0558=await listDatasets(_0x33d448['appCode']);if(_0xee0558[_0x47e6bc(0x17d)]===0x0)throw CliErrors['validation'](_0x47e6bc(0x1a9));const _0x5f572d=_0xee0558[_0x47e6bc(0x162)](_0x37a3ca=>_0x37a3ca['name']+'\x20['+(_0x37a3ca[_0x47e6bc(0x18c)]??_0x47e6bc(0x16d))+']\x20('+_0x37a3ca[_0x47e6bc(0x199)]+')'),_0xdf6a91=await promptSelect(_0x47e6bc(0x1ba),_0x5f572d),_0x398d63=_0xee0558[_0xdf6a91];if(!_0x398d63)throw CliErrors[_0x47e6bc(0x175)](_0x47e6bc(0x19a));_0x1ccf59=_0x398d63[_0x47e6bc(0x199)],_0x4fad0d=undefined;}}}}const _0x93cb45=await listDatasets(_0x33d448[_0x47e6bc(0x179)]),_0x566870=_0x93cb45[_0x47e6bc(0x161)](_0x165e14=>_0x165e14[_0x47e6bc(0x199)]===_0x1ccf59);if(!_0x566870)throw CliErrors['validation'](_0x47e6bc(0x1a1)+_0x1ccf59+_0x47e6bc(0x170)+(_0x4fad0d?_0x47e6bc(0x185)+CLI_BIN_NAME+_0x47e6bc(0x194):''));_0x4f97e0=_0x566870['id'];const _0x10cd12=_0x4fad0d??_0x1ccf59,_0x4401c5=await listBffDatasetOperations(_0x33d448[_0x47e6bc(0x179)],_0x4f97e0),_0x36b8a3=_0x4401c5?Object['keys'](_0x4401c5):[];if(_0x36b8a3[_0x47e6bc(0x17d)]===0x0)throw CliErrors['validation'](_0x47e6bc(0x197)+_0x10cd12+'.');let _0x46c16f;const _0x52d338=_0x33d448['str'](_0x47e6bc(0x196));if(_0x52d338){if(!_0x36b8a3['includes'](_0x52d338))throw CliErrors[_0x47e6bc(0x175)](_0x47e6bc(0x17f)+_0x52d338+'\x22\x20not\x20found\x20for\x20dataset\x20'+_0x10cd12+'.\x20'+(_0x47e6bc(0x193)+_0x36b8a3[_0x47e6bc(0x1a4)](',\x20')));_0x46c16f=_0x52d338;}else{if(_0x33d448[_0x47e6bc(0x1b3)])throw CliErrors[_0x47e6bc(0x175)](_0x47e6bc(0x1c0));const _0x4a53d0=await promptSelect(_0x47e6bc(0x16c),_0x36b8a3);_0x46c16f=_0x36b8a3[_0x4a53d0]??_0x36b8a3[0x0];}let _0x57be6b=normalizeHookFunctionNode(_0x33d448['str'](_0x47e6bc(0x1ab)));if(!_0x57be6b){if(_0x33d448[_0x47e6bc(0x15d)](_0x47e6bc(0x1ab)))throw CliErrors[_0x47e6bc(0x175)](_0x47e6bc(0x15a));if(_0x33d448[_0x47e6bc(0x1b3)])throw CliErrors[_0x47e6bc(0x175)]('--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');const _0x282c1f=await promptSelect(_0x47e6bc(0x171),['before','after']);_0x57be6b=['before',_0x47e6bc(0x1aa)][_0x282c1f]??'before';}return{'alias':_0x4fad0d,'datasetCode':_0x1ccf59,'datasetId':_0x4f97e0,'operationType':_0x46c16f,'functionNode':_0x57be6b};}async function promptSelect(_0x2fcdf8,_0x1f782a){const _0x43bbea=a30_0x139da6;if(_0x1f782a['length']===0x1)return 0x0;for(const [_0x440936,_0x54848b]of _0x1f782a[_0x43bbea(0x192)]()){process['stderr']['write']('\x20\x20'+(_0x440936+0x1)+'.\x20'+_0x54848b+'\x0a');}const _0x1a4549=createInterface({'input':process[_0x43bbea(0x169)],'output':process[_0x43bbea(0x17a)]});while(!![]){const _0xaacf52=await new Promise(_0x4a3b08=>{_0x1a4549['question'](_0x2fcdf8+'\x20',_0x4a3b08);}),_0x3dac05=Number['parseInt'](_0xaacf52[_0x43bbea(0x18a)](),0xa);if(Number[_0x43bbea(0x1b5)](_0x3dac05)&&_0x3dac05>=0x1&&_0x3dac05<=_0x1f782a[_0x43bbea(0x17d)])return _0x1a4549[_0x43bbea(0x189)](),_0x3dac05-0x1;process[_0x43bbea(0x17a)][_0x43bbea(0x182)](_0x43bbea(0x1b7)+_0x1f782a[_0x43bbea(0x17d)]+'.\x0a');}}function buildFilePath(_0x157ca0,_0x5400b0,_0x25f0db,_0x3f9ff4){const _0x2e2749=a30_0x139da6;if(_0x5400b0===_0x2e2749(0x195)){if(!_0x3f9ff4)throw CliErrors[_0x2e2749(0x175)]('HOOK\x20requires\x20alias/operation/node\x20options.');const _0x4a62af=_0x3f9ff4[_0x2e2749(0x159)]??_0x3f9ff4[_0x2e2749(0x1b9)];return join(_0x157ca0['scriptsRootDir'],_0x2e2749(0x195),_0x4a62af,_0x3f9ff4[_0x2e2749(0x1bb)],_0x3f9ff4['functionNode'],_0x25f0db+_0x2e2749(0x186));}return join(_0x157ca0[_0x2e2749(0x168)],_0x5400b0,_0x25f0db+_0x2e2749(0x186));}export function generateTemplate(_0x2d7c30,_0x572f7d,_0x5f556a,_0x1d1501,_0x3f749a){const _0x2eac84=a30_0x139da6,_0x51281d=_0x1d1501?.[_0x2eac84(0x18a)]()||DEFAULT_BFF_SCRIPT_DESCRIPTION,_0x7d6dd4=getAppBaseUrl(_0x5f556a),_0xd459e7=_0x2eac84(0x1a0);if(_0x2d7c30===_0x2eac84(0x165))return _0x2eac84(0x156)+_0x51281d+_0x2eac84(0x1af)+_0x572f7d+_0x2eac84(0x1b1)+_0x7d6dd4+_0x2eac84(0x18e)+_0x5f556a+_0x2eac84(0x176)+_0x572f7d+_0x2eac84(0x19c)+_0x572f7d+'\x22,\x20params\x20})\x0a'+_0xd459e7+_0x2eac84(0x19b)+_0x572f7d+_0x2eac84(0x16b);if(_0x2d7c30==='ENDPOINT')return _0x2eac84(0x156)+_0x51281d+_0x2eac84(0x19f)+_0x572f7d+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/'+_0x5f556a+'/'+_0x572f7d+_0x2eac84(0x1b1)+_0x7d6dd4+_0x2eac84(0x18e)+_0x5f556a+_0x2eac84(0x1a7)+_0x572f7d+_0x2eac84(0x1b2)+_0xd459e7+_0x2eac84(0x19d)+_0x572f7d+_0x2eac84(0x16b);if(!_0x3f749a)throw CliErrors[_0x2eac84(0x175)](_0x2eac84(0x181));const _0x59b440=_0x3f749a[_0x2eac84(0x159)]??_0x3f749a[_0x2eac84(0x1b9)],_0x2037ea=_0x3f749a['functionNode']===_0x2eac84(0x1a2)?_0x2eac84(0x187):_0x2eac84(0x164),_0x482231=_0x3f749a[_0x2eac84(0x180)]==='before'?_0x2eac84(0x16a):_0x2eac84(0x1ae);return _0x2eac84(0x156)+_0x51281d+_0x2eac84(0x15e)+_0x572f7d+_0x2eac84(0x173)+_0x5f556a+'/'+_0x3f749a[_0x2eac84(0x1b9)]+'/'+_0x3f749a['operationType']+_0x2eac84(0x1b1)+_0x7d6dd4+'/data/dataset/'+_0x3f749a[_0x2eac84(0x15c)]+_0x2eac84(0x172)+_0x5f556a+_0x2eac84(0x188)+_0x59b440+'/'+_0x3f749a[_0x2eac84(0x1bb)]+'/'+_0x3f749a['functionNode']+'/'+_0x572f7d+'.js\x0a\x20*\x20[触发节点]\x20'+_0x3f749a[_0x2eac84(0x180)]+'\x0a'+_0xd459e7+_0x2eac84(0x15b)+_0x2037ea+_0x2eac84(0x1a3)+_0x482231+_0x2eac84(0x1b0)+_0x572f7d+_0x2eac84(0x16b);}
|
|
1
|
+
const a31_0x3b7f37=a31_0x2246;(function(_0x1cbd40,_0x508482){const _0x593c62=a31_0x2246,_0x19cbab=_0x1cbd40();while(!![]){try{const _0x252fb9=-parseInt(_0x593c62(0xb0))/0x1+-parseInt(_0x593c62(0xbd))/0x2*(-parseInt(_0x593c62(0xaf))/0x3)+-parseInt(_0x593c62(0x99))/0x4+-parseInt(_0x593c62(0xc4))/0x5+-parseInt(_0x593c62(0xd3))/0x6*(parseInt(_0x593c62(0x8c))/0x7)+-parseInt(_0x593c62(0xe4))/0x8+parseInt(_0x593c62(0xe3))/0x9;if(_0x252fb9===_0x508482)break;else _0x19cbab['push'](_0x19cbab['shift']());}catch(_0x590363){_0x19cbab['push'](_0x19cbab['shift']());}}}(a31_0x982a,0x1bc93));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';function a31_0x2246(_0x1af86f,_0x7ae8d1){_0x1af86f=_0x1af86f-0x83;const _0x982a94=a31_0x982a();let _0x2246fd=_0x982a94[_0x1af86f];return _0x2246fd;}import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';function a31_0x982a(){const _0x5a776b=['utf8','map','name','string','Script\x20description','.js\x0a\x20*\x20[触发节点]\x20','HOOK','question','find','tableName','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','\x22,\x20params\x20})\x0a','/data/dataset/','length','\x0a\x20*\x0a\x20*\x20[脚本类型]\x20HOOK\x0a\x20*\x20[脚本名称]\x20','Scaffold\x20a\x20new\x20Backend\x20Function\x20script\x20from\x20template','No\x20api.ts\x20found.\x20Run\x20`','Select\x20dataset:','3IhviPk','135249BmpVUx','当前响应结果','\x20*\x20[依赖数据集]\x20无(如有依赖,DB_TABLE\x20填物理表名;METADATA\x20填数据集编码与用途)\x0a\x20*\x20[调用\x20BF]\x20无(如有调用,填写脚本名称与用途)\x0a\x20*\x20[执行\x20SQL]\x20无(如有执行,填写\x20SQL\x20名称与用途)\x0a\x20*\x20[副作用]\x20无(如有通知或外部调用,说明影响与失败策略)','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','source','appCode','/data/backend-function\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/','datasetcode','/HOOK/','trim','UNKNOWN','stdin','operation-type','25318xMufBT','code','No\x20datasets\x20found\x20for\x20this\x20app.','\x20function:\x20','Operation\x20type\x20(HOOK\x20only)','close','\x22\x20not\x20found\x20for\x20dataset\x20','87250ICFCqL','Available:\x20','type','datasetCode','\x22\x20not\x20found.\x20','Trigger\x20node\x20(HOOK\x20only)','stderr','File\x20already\x20exists:\x20','COMMON','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/','write','keys','join','ENDPOINT','functionNode','402yvVzyI','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','str','修改后的请求参数','Dataset\x20not\x20found\x20for\x20code\x20\x22','scriptsRootDir','\x0a\x20*\x20[平台配置]\x20','validation','entries','当前请求参数','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','HOOK\x20requires\x20alias/operation/node\x20options.','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','\x0a\x20*\x20[参数字段]\x20按实际输入为\x20params.<字段名>\x20补充\x20JSDoc\x20参数标签;无字段时仅保留根参数\x0a\x20*\x20[异常说明]\x20无;显式抛出异常时补充异常类型与触发条件\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20请求参数\x0a\x20*\x20@param\x20{Object}\x20context\x20平台注入的执行上下文\x0a\x20*\x20@returns\x20{Promise<Object>}\x20TODO:\x20补充返回数据结构\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','No\x20operation\x20types\x20found\x20for\x20dataset\x20','description','6655392FXSbrG','1331384mUHSuq','alias','after','apiDir','bff','operationType','\x0a\x20*\x20[参数字段]\x20按实际请求体为\x20params.<字段名>\x20补充\x20JSDoc\x20参数标签;无字段时仅保留根参数\x0a\x20*\x20[异常说明]\x20无;显式抛出异常时补充异常类型与触发条件\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20HTTP\x20请求体参数\x0a\x20*\x20@param\x20{Object}\x20context\x20平台注入的执行上下文\x0a\x20*\x20@returns\x20{Promise<Object>}\x20TODO:\x20补充业务返回数据结构\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','Select\x20trigger\x20node:','Script\x20type','\x0a\x20*\x0a\x20*\x20[脚本类型]\x20ENDPOINT\x0a\x20*\x20[脚本名称]\x20','before','10983xSfHTC','\x22.\x20','/COMMON/','Invalid\x20dataset\x20selection.','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','.js',']\x20(','\x0a\x20*\x20@param\x20{Object}\x20context\x20平台注入的执行上下文\x0a\x20*\x20@returns\x20{Promise<Object>}\x20','Invalid\x20function\x20name\x20\x22','function-node','nonInteractive','/ENDPOINT/','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','856364FbMmFn','Created\x20','/**\x0a\x20*\x20','Select\x20operation\x20type:'];a31_0x982a=function(){return _0x5a776b;};return a31_0x982a();}import{fileExists}from'../../core/bff/file-system.js';import{DEFAULT_BFF_SCRIPT_DESCRIPTION,isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{getAppBaseUrl}from'../../constant/domain.js';export const bffCreate={'service':a31_0x3b7f37(0x83),'command':'create','description':a31_0x3b7f37(0xac),'risk':'read','flags':[{'name':a31_0x3b7f37(0xc6),'type':'string','required':!![],'enum':[a31_0x3b7f37(0xcc),'ENDPOINT',a31_0x3b7f37(0xa3)],'description':a31_0x3b7f37(0x89)},{'name':'name','type':'string','required':!![],'description':'Function\x20name\x20(valid\x20JS\x20identifier)'},{'name':a31_0x3b7f37(0xe2),'type':a31_0x3b7f37(0xa0),'description':a31_0x3b7f37(0xa1)},{'name':a31_0x3b7f37(0xe5),'type':a31_0x3b7f37(0xa0),'description':'Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)'},{'name':'datasetcode','type':a31_0x3b7f37(0xa0),'description':a31_0x3b7f37(0x86)},{'name':'operation-type','type':a31_0x3b7f37(0xa0),'description':a31_0x3b7f37(0xc1)},{'name':a31_0x3b7f37(0x95),'type':a31_0x3b7f37(0xa0),'description':a31_0x3b7f37(0xc9),'enum':['before',a31_0x3b7f37(0xe6)]}],async 'validate'(_0x2285f0){const _0x587466=a31_0x3b7f37,_0xb25fe5=_0x2285f0['str']('name');if(!isValidBffFunctionName(_0xb25fe5))throw CliErrors[_0x587466(0xda)](_0x587466(0x94)+_0xb25fe5+'\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).');},async 'execute'(_0x2cc28c){const _0x194820=a31_0x3b7f37,_0x451e44=loadBffProjectConfig(_0x2cc28c[_0x194820(0xb5)]),_0x4c977b=_0x2cc28c[_0x194820(0xd5)](_0x194820(0xc6)),_0x3cfbd8=_0x2cc28c[_0x194820(0xd5)](_0x194820(0x9f)),_0x464784=_0x2cc28c[_0x194820(0xd5)](_0x194820(0xe2))||undefined,_0x4b7d1c=_0x4c977b===_0x194820(0xa3)?await resolveHookOptions(_0x451e44,_0x2cc28c):undefined,_0x201920=buildFilePath(_0x451e44,_0x4c977b,_0x3cfbd8,_0x4b7d1c);if(await fileExists(_0x201920))throw CliErrors[_0x194820(0xda)](_0x194820(0xcb)+_0x201920);await mkdir(dirname(_0x201920),{'recursive':!![]});const _0x116651=generateTemplate(_0x4c977b,_0x3cfbd8,_0x2cc28c[_0x194820(0xb5)],_0x464784,_0x4b7d1c);await writeFile(_0x201920,_0x116651,_0x194820(0x9d));const _0x1503aa={'type':_0x4c977b,'name':_0x3cfbd8,'path':_0x201920};if(_0x464784)_0x1503aa[_0x194820(0xe2)]=_0x464784;if(_0x4b7d1c){if(_0x4b7d1c['alias'])_0x1503aa[_0x194820(0xe5)]=_0x4b7d1c[_0x194820(0xe5)];_0x1503aa[_0x194820(0xc7)]=_0x4b7d1c[_0x194820(0xc7)],_0x1503aa['operationType']=_0x4b7d1c['operationType'],_0x1503aa[_0x194820(0xd2)]=_0x4b7d1c[_0x194820(0xd2)];}return{'ok':!![],'data':_0x1503aa,'message':_0x194820(0x9a)+_0x4c977b+_0x194820(0xc0)+_0x3cfbd8};}};async function resolveHookOptions(_0x136761,_0x4ab175){const _0x574dd9=a31_0x3b7f37,_0xd9eb35=loadAliasMap(_0x4ab175[_0x574dd9(0xe7)],undefined,resolveApiFilePath(_0x4ab175[_0x574dd9(0xe7)],_0x4ab175['appCode'])),_0x504a59=_0xd9eb35[_0x574dd9(0xaa)]>0x0;let _0x3d82d9,_0x298b84,_0x33f04e;const _0x303245=_0x4ab175[_0x574dd9(0xd5)](_0x574dd9(0xe5)),_0x32cd9e=_0x4ab175[_0x574dd9(0xd5)](_0x574dd9(0xb7));if(_0x303245){const _0x5da105=resolveAlias(_0x4ab175['apiDir'],_0x303245,undefined,resolveApiFilePath(_0x4ab175[_0x574dd9(0xe7)],_0x4ab175['appCode']));if(!_0x5da105){const _0x1c6f89=_0x504a59?'Available\x20aliases:\x20'+_0xd9eb35['map'](_0x444194=>_0x444194[_0x574dd9(0xe5)])['join'](',\x20'):_0x574dd9(0xad)+CLI_BIN_NAME+_0x574dd9(0xdd);throw CliErrors[_0x574dd9(0xda)]('Alias\x20\x22'+_0x303245+_0x574dd9(0xc8)+_0x1c6f89);}_0x3d82d9=_0x303245,_0x298b84=_0x5da105;}else{if(_0x32cd9e){_0x298b84=_0x32cd9e;const _0x47de48=_0xd9eb35[_0x574dd9(0xa5)](_0x4bb733=>_0x4bb733['datasetCode']===_0x32cd9e);_0x3d82d9=_0x47de48?.[_0x574dd9(0xe5)];}else{if(_0x4ab175['nonInteractive'])throw CliErrors[_0x574dd9(0xda)](_0x574dd9(0xb3));else{if(_0x504a59){const _0x236702=_0xd9eb35['map'](_0x59913e=>_0x59913e[_0x574dd9(0xe5)]+'\x20('+_0x59913e[_0x574dd9(0xa6)]+')'),_0x5adf16=await promptSelect(_0x574dd9(0xae),_0x236702),_0x23d4cc=_0xd9eb35[_0x5adf16];if(!_0x23d4cc)throw CliErrors['validation'](_0x574dd9(0x8f));_0x3d82d9=_0x23d4cc[_0x574dd9(0xe5)],_0x298b84=_0x23d4cc[_0x574dd9(0xc7)];}else{const _0x52d058=await listDatasets(_0x4ab175[_0x574dd9(0xb5)]);if(_0x52d058['length']===0x0)throw CliErrors[_0x574dd9(0xda)](_0x574dd9(0xbf));const _0xc4d05c=_0x52d058[_0x574dd9(0x9e)](_0xe8502e=>_0xe8502e[_0x574dd9(0x9f)]+'\x20['+(_0xe8502e[_0x574dd9(0xb4)]??_0x574dd9(0xba))+_0x574dd9(0x92)+_0xe8502e[_0x574dd9(0xbe)]+')'),_0x1f1eb2=await promptSelect(_0x574dd9(0xae),_0xc4d05c),_0x269877=_0x52d058[_0x1f1eb2];if(!_0x269877)throw CliErrors[_0x574dd9(0xda)](_0x574dd9(0x8f));_0x298b84=_0x269877[_0x574dd9(0xbe)],_0x3d82d9=undefined;}}}}const _0x36e8f3=await listDatasets(_0x4ab175[_0x574dd9(0xb5)]),_0x294616=_0x36e8f3[_0x574dd9(0xa5)](_0x17e3b5=>_0x17e3b5['code']===_0x298b84);if(!_0x294616)throw CliErrors[_0x574dd9(0xda)](_0x574dd9(0xd7)+_0x298b84+_0x574dd9(0x8d)+(_0x3d82d9?'The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`'+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh.':''));_0x33f04e=_0x294616['id'];const _0x579465=_0x3d82d9??_0x298b84,_0x548f18=await listBffDatasetOperations(_0x4ab175['appCode'],_0x33f04e),_0x58a341=_0x548f18?Object[_0x574dd9(0xcf)](_0x548f18):[];if(_0x58a341[_0x574dd9(0xaa)]===0x0)throw CliErrors[_0x574dd9(0xda)](_0x574dd9(0xe1)+_0x579465+'.');let _0x4a12d4;const _0x280d31=_0x4ab175[_0x574dd9(0xd5)](_0x574dd9(0xbc));if(_0x280d31){if(!_0x58a341['includes'](_0x280d31))throw CliErrors[_0x574dd9(0xda)]('Operation\x20type\x20\x22'+_0x280d31+_0x574dd9(0xc3)+_0x579465+'.\x20'+(_0x574dd9(0xc5)+_0x58a341[_0x574dd9(0xd0)](',\x20')));_0x4a12d4=_0x280d31;}else{if(_0x4ab175[_0x574dd9(0x96)])throw CliErrors['validation'](_0x574dd9(0xdf));const _0x133d3c=await promptSelect(_0x574dd9(0x9c),_0x58a341);_0x4a12d4=_0x58a341[_0x133d3c]??_0x58a341[0x0];}let _0x14283c=normalizeHookFunctionNode(_0x4ab175['str'](_0x574dd9(0x95)));if(!_0x14283c){if(_0x4ab175[_0x574dd9(0xd5)](_0x574dd9(0x95)))throw CliErrors[_0x574dd9(0xda)](_0x574dd9(0x87));if(_0x4ab175[_0x574dd9(0x96)])throw CliErrors['validation'](_0x574dd9(0xa7));const _0x3b5556=await promptSelect(_0x574dd9(0x88),[_0x574dd9(0x8b),_0x574dd9(0xe6)]);_0x14283c=[_0x574dd9(0x8b),_0x574dd9(0xe6)][_0x3b5556]??_0x574dd9(0x8b);}return{'alias':_0x3d82d9,'datasetCode':_0x298b84,'datasetId':_0x33f04e,'operationType':_0x4a12d4,'functionNode':_0x14283c};}async function promptSelect(_0x4fd2a4,_0x32b666){const _0x3ebfff=a31_0x3b7f37;if(_0x32b666[_0x3ebfff(0xaa)]===0x1)return 0x0;for(const [_0x3c8b50,_0x5d37f5]of _0x32b666[_0x3ebfff(0xdb)]()){process[_0x3ebfff(0xca)][_0x3ebfff(0xce)]('\x20\x20'+(_0x3c8b50+0x1)+'.\x20'+_0x5d37f5+'\x0a');}const _0x31bb8b=createInterface({'input':process[_0x3ebfff(0xbb)],'output':process[_0x3ebfff(0xca)]});while(!![]){const _0xd884a0=await new Promise(_0x36f626=>{const _0x8c582f=_0x3ebfff;_0x31bb8b[_0x8c582f(0xa4)](_0x4fd2a4+'\x20',_0x36f626);}),_0x1b3724=Number['parseInt'](_0xd884a0[_0x3ebfff(0xb9)](),0xa);if(Number['isInteger'](_0x1b3724)&&_0x1b3724>=0x1&&_0x1b3724<=_0x32b666[_0x3ebfff(0xaa)])return _0x31bb8b[_0x3ebfff(0xc2)](),_0x1b3724-0x1;process['stderr'][_0x3ebfff(0xce)](_0x3ebfff(0x90)+_0x32b666[_0x3ebfff(0xaa)]+'.\x0a');}}function buildFilePath(_0x27d3a6,_0x3f39ab,_0x3a7ce5,_0x1c9ce4){const _0x2cef8e=a31_0x3b7f37;if(_0x3f39ab===_0x2cef8e(0xa3)){if(!_0x1c9ce4)throw CliErrors['validation'](_0x2cef8e(0xde));const _0x41ffb1=_0x1c9ce4[_0x2cef8e(0xe5)]??_0x1c9ce4['datasetCode'];return join(_0x27d3a6[_0x2cef8e(0xd8)],_0x2cef8e(0xa3),_0x41ffb1,_0x1c9ce4[_0x2cef8e(0x84)],_0x1c9ce4['functionNode'],_0x3a7ce5+_0x2cef8e(0x91));}return join(_0x27d3a6[_0x2cef8e(0xd8)],_0x3f39ab,_0x3a7ce5+_0x2cef8e(0x91));}export function generateTemplate(_0x1e8cb1,_0x2b9335,_0x1c5f75,_0x1dc71d,_0x180a4e){const _0x13196a=a31_0x3b7f37,_0x4801e9=_0x1dc71d?.['trim']()||DEFAULT_BFF_SCRIPT_DESCRIPTION,_0x33b160=getAppBaseUrl(_0x1c5f75),_0xb8e7e6=_0x13196a(0xb2);if(_0x1e8cb1==='COMMON')return'/**\x0a\x20*\x20'+_0x4801e9+'\x0a\x20*\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[脚本名称]\x20'+_0x2b9335+_0x13196a(0xd9)+_0x33b160+_0x13196a(0xb6)+_0x1c5f75+_0x13196a(0x8e)+_0x2b9335+'.js\x0a\x20*\x20[调用方式]\x20context.client.bff.execute({\x20scriptName:\x20\x22'+_0x2b9335+_0x13196a(0xa8)+_0xb8e7e6+_0x13196a(0xe0)+_0x2b9335+_0x13196a(0x98);if(_0x1e8cb1===_0x13196a(0xd1))return _0x13196a(0x9b)+_0x4801e9+_0x13196a(0x8a)+_0x2b9335+_0x13196a(0xcd)+_0x1c5f75+'/'+_0x2b9335+_0x13196a(0xd9)+_0x33b160+_0x13196a(0xb6)+_0x1c5f75+_0x13196a(0x97)+_0x2b9335+'.js\x0a'+_0xb8e7e6+_0x13196a(0x85)+_0x2b9335+_0x13196a(0x98);if(!_0x180a4e)throw CliErrors[_0x13196a(0xda)](_0x13196a(0xd4));const _0xb796a=_0x180a4e[_0x13196a(0xe5)]??_0x180a4e[_0x13196a(0xc7)],_0x286bf3=_0x180a4e[_0x13196a(0xd2)]===_0x13196a(0x8b)?_0x13196a(0xdc):_0x13196a(0xb1),_0x58a7c0=_0x180a4e['functionNode']===_0x13196a(0x8b)?_0x13196a(0xd6):'修改后的响应结果';return'/**\x0a\x20*\x20'+_0x4801e9+_0x13196a(0xab)+_0x2b9335+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/'+_0x1c5f75+'/'+_0x180a4e['datasetCode']+'/'+_0x180a4e['operationType']+_0x13196a(0xd9)+_0x33b160+_0x13196a(0xa9)+_0x180a4e['datasetId']+'#api-list\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/'+_0x1c5f75+_0x13196a(0xb8)+_0xb796a+'/'+_0x180a4e[_0x13196a(0x84)]+'/'+_0x180a4e[_0x13196a(0xd2)]+'/'+_0x2b9335+_0x13196a(0xa2)+_0x180a4e['functionNode']+'\x0a'+_0xb8e7e6+'\x0a\x20*\x20[参数字段]\x20按实际输入为\x20params.<字段名>\x20补充\x20JSDoc\x20参数标签;无字段时仅保留根参数\x0a\x20*\x20[异常说明]\x20无;显式抛出异常时补充异常类型与触发条件\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20'+_0x286bf3+_0x13196a(0x93)+_0x58a7c0+'\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20'+_0x2b9335+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a32_0x41bb54=a32_0xb6f4;(function(_0x4ae8e3,_0x2950f7){const _0x375741=a32_0xb6f4,_0x141749=_0x4ae8e3();while(!![]){try{const _0x4ff93c=-parseInt(_0x375741(0x198))/0x1+parseInt(_0x375741(0x199))/0x2+-parseInt(_0x375741(0x1ba))/0x3+parseInt(_0x375741(0x1a1))/0x4+-parseInt(_0x375741(0x1c3))/0x5*(parseInt(_0x375741(0x1a8))/0x6)+-parseInt(_0x375741(0x1b3))/0x7*(-parseInt(_0x375741(0x1b2))/0x8)+-parseInt(_0x375741(0x1a9))/0x9*(-parseInt(_0x375741(0x1b0))/0xa);if(_0x4ff93c===_0x2950f7)break;else _0x141749['push'](_0x141749['shift']());}catch(_0x408f6e){_0x141749['push'](_0x141749['shift']());}}}(a32_0x42c2,0x2f7d8));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';function a32_0xb6f4(_0x303478,_0x4a3680){_0x303478=_0x303478-0x197;const _0x42c257=a32_0x42c2();let _0xb6f447=_0x42c257[_0x303478];return _0xb6f447;}import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a32_0x41bb54(0x19e),'command':a32_0x41bb54(0x19a),'description':a32_0x41bb54(0x1af),'risk':'high-risk-write','flags':[{'name':a32_0x41bb54(0x1b8),'type':'string','required':!![],'description':a32_0x41bb54(0x1bd)}],async 'validate'(_0x37067b){const _0x507e04=a32_0x41bb54,_0x3bf747=loadBffProjectConfig(_0x37067b[_0x507e04(0x197)]),_0x1a09aa=await readBffLockFile(_0x3bf747[_0x507e04(0x1b1)]);if(!_0x1a09aa)throw CliErrors[_0x507e04(0x1ae)](_0x507e04(0x1ac));},async 'dryRun'(_0x1e52b0){const _0x45b11a=a32_0x41bb54,_0x47cb2c=loadBffProjectConfig(_0x1e52b0['appCode']),_0x15fa8c=await readBffLockFile(_0x47cb2c[_0x45b11a(0x1b1)]);if(!_0x15fa8c)throw CliErrors[_0x45b11a(0x1ae)](_0x45b11a(0x1c0));const {appLock:_0x463024}=ensureLockScope(_0x15fa8c,_0x1e52b0[_0x45b11a(0x197)],_0x47cb2c[_0x45b11a(0x19f)],'delete'),_0x441e85=_0x1e52b0[_0x45b11a(0x1b4)](_0x45b11a(0x1b8)),_0x548b50=Object['keys'](_0x463024[_0x45b11a(0x1c1)]),_0x508a94=resolveDeleteTarget(_0x441e85,_0x548b50),_0x367fe1=_0x463024['functions'][_0x508a94];if(!_0x367fe1)throw CliErrors[_0x45b11a(0x1ae)]('No\x20lock\x20entry\x20found\x20for\x20\x22'+_0x508a94+'\x22.');const _0xe93815=resolveLocalFilePathFromLockKey(_0x47cb2c,_0x508a94),_0x37ac5e=relative(_0x47cb2c[_0x45b11a(0x1a0)],_0xe93815),_0x4d18eb=join(_0x47cb2c['trashDir'],_0x45b11a(0x1a3),_0x37ac5e);return{'method':_0x45b11a(0x1c4),'url':_0x45b11a(0x1bb),'body':{'appCode':_0x1e52b0[_0x45b11a(0x197)],'target':_0x508a94,'remoteId':_0x367fe1[_0x45b11a(0x1b7)],'localFilePath':_0xe93815,'trashedPath':_0x4d18eb},'description':_0x45b11a(0x1b9)+_0x508a94+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash'};},async 'execute'(_0x513471){const _0x59d4c2=a32_0x41bb54,_0x49a0ff=loadBffProjectConfig(_0x513471[_0x59d4c2(0x197)]),_0x1a68e4=await readBffLockFile(_0x49a0ff['lockFilePath']);if(!_0x1a68e4)throw CliErrors[_0x59d4c2(0x1ae)](_0x59d4c2(0x1c0));const {lockData:_0x5799a4,appLock:_0x315960}=ensureLockScope(_0x1a68e4,_0x513471[_0x59d4c2(0x197)],_0x49a0ff['scriptsRoot'],_0x59d4c2(0x19a)),_0x52518a=JSON[_0x59d4c2(0x1ad)](JSON[_0x59d4c2(0x1bc)](_0x5799a4)),_0x68d81=_0x52518a[_0x59d4c2(0x1a4)][_0x513471[_0x59d4c2(0x197)]];if(!_0x68d81)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x513471['appCode']+_0x59d4c2(0x1a7));const _0x2cad12=_0x513471[_0x59d4c2(0x1b4)](_0x59d4c2(0x1b8)),_0x2192da=Object[_0x59d4c2(0x1c8)](_0x68d81['functions']),_0x480b9f=resolveDeleteTarget(_0x2cad12,_0x2192da),_0x26af2a=_0x68d81['functions'][_0x480b9f];if(!_0x26af2a)throw CliErrors[_0x59d4c2(0x1ae)](_0x59d4c2(0x1b5)+_0x480b9f+'\x22.');await deleteBffScript(_0x26af2a[_0x59d4c2(0x1b7)]),delete _0x68d81[_0x59d4c2(0x1c1)][_0x480b9f],_0x68d81[_0x59d4c2(0x1ab)]=new Date()[_0x59d4c2(0x1a5)](),await writeBffLockFile(_0x49a0ff[_0x59d4c2(0x1b1)],_0x52518a);const _0x414cd3=resolveLocalFilePathFromLockKey(_0x49a0ff,_0x480b9f);let _0x553a96;await fileExists(_0x414cd3)&&(_0x553a96=await moveToTrash(_0x49a0ff[_0x59d4c2(0x1a0)],_0x49a0ff['trashDir'],_0x414cd3),await cleanupEmptyDirectories(dirname(_0x414cd3),_0x49a0ff[_0x59d4c2(0x1aa)]));await waitForDeleteSettlement(_0x49a0ff['lockFilePath'],_0x513471['appCode'],_0x480b9f,_0x414cd3),await sleep(0x96);const _0x27676d={'deleted':_0x480b9f,'remoteId':_0x26af2a[_0x59d4c2(0x1b7)]};if(_0x553a96)_0x27676d['trashedTo']=_0x553a96;return{'ok':!![],'data':_0x27676d,'message':_0x59d4c2(0x19c)+_0x480b9f+(_0x553a96?_0x59d4c2(0x1c5):'')};}};function resolveDeleteTarget(_0xcdd296,_0x2ed83e){const _0x4835f4=a32_0x41bb54;if(_0xcdd296['includes']('/')){const _0xfceea7=_0x2ed83e['find'](_0x4bb4e0=>_0x4bb4e0===_0xcdd296);if(!_0xfceea7)throw CliErrors[_0x4835f4(0x1ae)](_0x4835f4(0x1a6)+_0xcdd296);return _0xfceea7;}const _0x5da590=_0x2ed83e[_0x4835f4(0x1bf)](_0xba9321=>_0xba9321['split']('/')['at'](-0x1)===_0xcdd296);if(_0x5da590[_0x4835f4(0x1c7)]===0x0)throw CliErrors['validation'](_0x4835f4(0x1a6)+_0xcdd296);if(_0x5da590[_0x4835f4(0x1c7)]>0x1)throw CliErrors[_0x4835f4(0x1ae)](_0x4835f4(0x19d)+_0xcdd296+_0x4835f4(0x1c6)+_0x5da590[_0x4835f4(0x1b6)](_0x9124dd=>_0x4835f4(0x1c2)+_0x9124dd)[_0x4835f4(0x1a2)]('\x0a'));return _0x5da590[0x0];}function a32_0x42c2(){const _0x54a4bf=['Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','Local\x20delete\x20not\x20settled\x20for\x20','filter','Backend\x20Function\x20lock\x20file\x20not\x20found.','functions','\x20\x20-\x20','165240fDJpxu','POST','\x20(local\x20file\x20moved\x20to\x20trash)','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','length','keys','appCode','80364ibixvy','351266VARjJL','delete','startsWith','Deleted\x20','Multiple\x20functions\x20match\x20\x22','bff','scriptsRoot','projectRoot','1151452pUNLTL','join','<timestamp>','apps','toISOString','Function\x20not\x20found:\x20','\x22\x20not\x20found\x20after\x20ensureLockScope.','30bzsJpm','9NApWWI','scriptsRootDir','lastSync','Backend\x20Function\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','parse','validation','Delete\x20a\x20Backend\x20Function\x20script\x20from\x20remote\x20and\x20local','471660gxyVYs','lockFilePath','56SMtRhH','308616rtlQJN','str','No\x20lock\x20entry\x20found\x20for\x20\x22','map','remoteId','target','Would\x20delete\x20','1137462wDirfr','/api/management/library/scripts/delete','stringify'];a32_0x42c2=function(){return _0x54a4bf;};return a32_0x42c2();}async function moveToTrash(_0x47cf72,_0xb5847b,_0x5a5f02){const _0x136a37=new Date()['toISOString']()['replace'](/[:.]/g,'-'),_0x54336c=relative(_0x47cf72,_0x5a5f02),_0x15ef75=join(_0xb5847b,_0x136a37,_0x54336c);return await mkdir(dirname(_0x15ef75),{'recursive':!![]}),await rename(_0x5a5f02,_0x15ef75),_0x15ef75;}async function cleanupEmptyDirectories(_0x34417e,_0x5a3657){const _0x4b113c=a32_0x41bb54;let _0x3aa315=resolve(_0x34417e);const _0x47ba09=resolve(_0x5a3657);while(_0x3aa315[_0x4b113c(0x19b)](''+_0x47ba09+sep)||_0x3aa315===_0x47ba09){if(_0x3aa315===_0x47ba09)return;try{const _0x1d35f3=await readdir(_0x3aa315);if(_0x1d35f3['length']>0x0)return;await rmdir(_0x3aa315);}catch{return;}_0x3aa315=dirname(_0x3aa315);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x185572,_0x908014,_0x511452,_0x39db18){const _0xd8f4a5=a32_0x41bb54;for(let _0x2dadd6=0x0;_0x2dadd6<DELETE_SETTLE_RETRY_COUNT;_0x2dadd6+=0x1){const _0x35d443=await readBffLockFile(_0x185572),_0x588892=!!_0x35d443?.[_0xd8f4a5(0x1a4)]?.[_0x908014]?.[_0xd8f4a5(0x1c1)]?.[_0x511452],_0x2e4301=await fileExists(_0x39db18);if(!_0x588892&&!_0x2e4301)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0xd8f4a5(0x1be)+_0x511452+'.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a33_0x5ecbeb=a33_0x2841;function a33_0x3ebd(){const _0x324703=['(none)','Get\x20Backend\x20Function\x20script\x20details\x20by\x20ID','verbose','updateUserName','appCode','17956bRxvTd','51930jlHoNX','scriptContent','version','6060425SIVQmR','bool','3SfTESQ','4479695ZTFybR','411tWvEQA','Script\x20ID','70Wxbpdl','378012pcqJDi','35312916EUqOgi','bff','functionName','description','createdTime','414866XFvQBr','8BxIQbM','Return\x20full\x20raw\x20script\x20object','531nWUbdi'];a33_0x3ebd=function(){return _0x324703;};return a33_0x3ebd();}(function(_0x3f5a76,_0x26ede9){const _0x22c4a1=a33_0x2841,_0x214deb=_0x3f5a76();while(!![]){try{const _0x441de7=-parseInt(_0x22c4a1(0xb5))/0x1*(parseInt(_0x22c4a1(0xc0))/0x2)+-parseInt(_0x22c4a1(0xb7))/0x3*(-parseInt(_0x22c4a1(0xaf))/0x4)+parseInt(_0x22c4a1(0xb9))/0x5*(-parseInt(_0x22c4a1(0xba))/0x6)+-parseInt(_0x22c4a1(0xb3))/0x7*(parseInt(_0x22c4a1(0xc1))/0x8)+-parseInt(_0x22c4a1(0xc3))/0x9*(parseInt(_0x22c4a1(0xb0))/0xa)+-parseInt(_0x22c4a1(0xb6))/0xb+parseInt(_0x22c4a1(0xbb))/0xc;if(_0x441de7===_0x26ede9)break;else _0x214deb['push'](_0x214deb['shift']());}catch(_0x114d3d){_0x214deb['push'](_0x214deb['shift']());}}}(a33_0x3ebd,0x73b92));function a33_0x2841(_0x3d3098,_0x2e70b4){_0x3d3098=_0x3d3098-0xab;const _0x3ebd7f=a33_0x3ebd();let _0x28418b=_0x3ebd7f[_0x3d3098];return _0x28418b;}import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a33_0x5ecbeb(0xbc),'command':'detail','description':a33_0x5ecbeb(0xab),'risk':'read','flags':[{'name':'id','type':'number','required':!![],'description':a33_0x5ecbeb(0xb8)},{'name':'verbose','type':'boolean','description':a33_0x5ecbeb(0xc2)}],async 'execute'(_0x387b09){const _0x131ba6=a33_0x5ecbeb,_0x4ac2e3=await getBffScriptInfo(_0x387b09['num']('id')),_0x408818=_0x387b09[_0x131ba6(0xb4)](_0x131ba6(0xac));if(_0x408818)return{'ok':!![],'data':_0x4ac2e3};return{'ok':!![],'data':{'id':_0x4ac2e3['id'],'functionName':_0x4ac2e3[_0x131ba6(0xbd)]??'','version':_0x4ac2e3[_0x131ba6(0xb2)]??'','updateUserName':_0x4ac2e3[_0x131ba6(0xad)]??'','appCode':_0x4ac2e3[_0x131ba6(0xae)],'scriptType':_0x4ac2e3['scriptType'],'description':_0x4ac2e3[_0x131ba6(0xbe)]||_0x131ba6(0xc4),'createdTime':_0x4ac2e3[_0x131ba6(0xbf)]??'','updatedTime':_0x4ac2e3['updatedTime']??'','scriptContent':_0x4ac2e3[_0x131ba6(0xb1)]??''}};}};
|