@lovrabet/rabetbase-cli 2.3.16-beta.4 → 2.3.16-beta.5
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.d.ts +9 -0
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.d.ts +2 -0
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.d.ts +8 -0
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.d.ts +13 -0
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.d.ts +25 -0
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.d.ts +2 -0
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.d.ts +1 -0
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.d.ts +51 -0
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.d.ts +1 -0
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.d.ts +5 -0
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.d.ts +1 -0
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.d.ts +12 -0
- package/lib/cli-flags.js +1 -1
- package/lib/cli.d.ts +2 -0
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.d.ts +2 -0
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.d.ts +2 -0
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.d.ts +2 -0
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.d.ts +2 -0
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.d.ts +18 -0
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.d.ts +5 -0
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.d.ts +10 -0
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.d.ts +2 -0
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.d.ts +11 -0
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.d.ts +46 -0
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.d.ts +2 -0
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.d.ts +2 -0
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.d.ts +2 -0
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.d.ts +2 -0
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.d.ts +2 -0
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.d.ts +105 -0
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.d.ts +2 -0
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.d.ts +4 -0
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.d.ts +2 -0
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.d.ts +2 -0
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.d.ts +5 -0
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.d.ts +2 -0
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.d.ts +2 -0
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.d.ts +2 -0
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.d.ts +2 -0
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.d.ts +8 -0
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.d.ts +2 -0
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.d.ts +2 -0
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.d.ts +2 -0
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.d.ts +2 -0
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.d.ts +17 -0
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.d.ts +17 -0
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.d.ts +11 -0
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.d.ts +12 -0
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.d.ts +26 -0
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.d.ts +6 -0
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.d.ts +13 -0
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.d.ts +5 -0
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.d.ts +5 -0
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.d.ts +5 -0
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.d.ts +5 -0
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.d.ts +16 -0
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.d.ts +7 -0
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.d.ts +7 -0
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.d.ts +8 -0
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.d.ts +33 -0
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.d.ts +18 -0
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.d.ts +11 -0
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.d.ts +2 -0
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.d.ts +2 -0
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.d.ts +26 -0
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.d.ts +27 -0
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.d.ts +3 -0
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.d.ts +2 -0
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.d.ts +2 -0
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.d.ts +2 -0
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.d.ts +2 -0
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.d.ts +2 -0
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.d.ts +2 -0
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.d.ts +128 -0
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.d.ts +2 -0
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.d.ts +53 -0
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.d.ts +17 -0
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.d.ts +2 -0
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.d.ts +30 -0
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.d.ts +2 -0
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.d.ts +2 -0
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.d.ts +2 -0
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.d.ts +2 -0
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.d.ts +2 -0
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.d.ts +2 -0
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.d.ts +2 -0
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.d.ts +2 -0
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.d.ts +5 -0
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.d.ts +2 -0
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.d.ts +15 -0
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.d.ts +2 -0
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.d.ts +2 -0
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.d.ts +2 -0
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.d.ts +2 -0
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.d.ts +2 -0
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.d.ts +11 -0
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.d.ts +2 -0
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.d.ts +23 -0
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.d.ts +2 -0
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.d.ts +32 -0
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.d.ts +2 -0
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.d.ts +2 -0
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.d.ts +2 -0
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.d.ts +2 -0
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.d.ts +2 -0
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/shared.d.ts +33 -0
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.d.ts +2 -0
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.d.ts +5 -0
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.d.ts +2 -0
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.d.ts +2 -0
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.d.ts +3 -0
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.d.ts +2 -0
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.d.ts +2 -0
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.d.ts +2 -0
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.d.ts +17 -0
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.d.ts +2 -0
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.d.ts +2 -0
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.d.ts +2 -0
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.d.ts +2 -0
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.d.ts +27 -0
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.d.ts +51 -0
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.d.ts +12 -0
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.d.ts +12 -0
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.d.ts +10 -0
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.d.ts +12 -0
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.d.ts +28 -0
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.d.ts +69 -0
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.d.ts +17 -0
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.d.ts +7 -0
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/types.d.ts +162 -0
- package/lib/commands/menu/shared/update-core.d.ts +11 -0
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.d.ts +6 -0
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.d.ts +2 -0
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/notification/config-list.d.ts +2 -0
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.d.ts +2 -0
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/ocr/index.d.ts +2 -0
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/generate-start.d.ts +2 -0
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.d.ts +2 -0
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.d.ts +2 -0
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.d.ts +2 -0
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.d.ts +2 -0
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.d.ts +2 -0
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.d.ts +2 -0
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.d.ts +105 -0
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.d.ts +2 -0
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.d.ts +2 -0
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.d.ts +2 -0
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.d.ts +2 -0
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.d.ts +2 -0
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.d.ts +2 -0
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.d.ts +2 -0
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.d.ts +2 -0
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.d.ts +74 -0
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.d.ts +7 -0
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.d.ts +1 -0
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.d.ts +6 -0
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.d.ts +9 -0
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.d.ts +4 -0
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.d.ts +1 -0
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.d.ts +1 -0
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.d.ts +1 -0
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.d.ts +2 -0
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.d.ts +1 -0
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.d.ts +66 -0
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.d.ts +2 -0
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.d.ts +2 -0
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.d.ts +2 -0
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.d.ts +2 -0
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.d.ts +2 -0
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.d.ts +107 -0
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.d.ts +2 -0
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.d.ts +2 -0
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.d.ts +2 -0
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.d.ts +2 -0
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.d.ts +2 -0
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.d.ts +5 -0
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.d.ts +10 -0
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.d.ts +5 -0
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.d.ts +2 -0
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.d.ts +2 -0
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.d.ts +5 -0
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.d.ts +2 -0
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.d.ts +5 -0
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.d.ts +5 -0
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.d.ts +23 -0
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.d.ts +5 -0
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.d.ts +2 -0
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.d.ts +2 -0
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.d.ts +2 -0
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.d.ts +2 -0
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.d.ts +2 -0
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.d.ts +10 -0
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/workspace/add.d.ts +6 -0
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.d.ts +11 -0
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.d.ts +6 -0
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/schema.d.ts +50 -0
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.d.ts +1 -0
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.d.ts +34 -0
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.d.ts +10 -0
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.d.ts +14 -0
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.d.ts +11 -0
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.d.ts +1 -0
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.d.ts +5 -0
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.d.ts +1 -0
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.d.ts +36 -0
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.d.ts +5 -0
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.d.ts +61 -0
- package/lib/context/config-loader.js +1 -1
- package/lib/context.d.ts +102 -0
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.d.ts +31 -0
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +1018 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.d.ts +8 -0
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.d.ts +28 -0
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.d.ts +7 -0
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.d.ts +25 -0
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/types.d.ts +92 -0
- package/lib/core/bff/utils.d.ts +25 -0
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.d.ts +43 -0
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.d.ts +6 -0
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.d.ts +4 -0
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.d.ts +8 -0
- package/lib/core/page/lock.js +1 -1
- package/lib/core/page/types.d.ts +22 -0
- package/lib/core/sql-index-auditor.d.ts +33 -0
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.d.ts +7 -0
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.d.ts +7 -0
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.d.ts +5 -0
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.d.ts +14 -0
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/types.d.ts +43 -0
- package/lib/core/sql-sync/utils.d.ts +10 -0
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.d.ts +34 -0
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.d.ts +3 -0
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.d.ts +2 -0
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.d.ts +9 -0
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.d.ts +3 -0
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.d.ts +3 -0
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.d.ts +4 -0
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.d.ts +11 -0
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.d.ts +15 -0
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.d.ts +2 -0
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.d.ts +14 -0
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.d.ts +36 -0
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.d.ts +3 -0
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.d.ts +63 -0
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -0
- package/lib/generated/build-info.js +1 -1
- package/lib/help.d.ts +1 -0
- package/lib/help.js +1 -1
- package/lib/runtime/confirmation.d.ts +4 -0
- package/lib/runtime/confirmation.js +1 -0
- package/lib/runtime/event.d.ts +5 -0
- package/lib/runtime/event.js +1 -0
- package/lib/runtime/index.d.ts +7 -0
- package/lib/runtime/index.js +1 -0
- package/lib/runtime/queue.d.ts +5 -0
- package/lib/runtime/queue.js +1 -0
- package/lib/runtime/resolve.d.ts +8 -0
- package/lib/runtime/resolve.js +1 -0
- package/lib/runtime/types.d.ts +50 -0
- package/lib/runtime/types.js +1 -0
- package/lib/skills/main.d.ts +41 -0
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.d.ts +99 -0
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.d.ts +44 -0
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.d.ts +12 -0
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.d.ts +8 -0
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.d.ts +6 -0
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.d.ts +3 -0
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.d.ts +17 -0
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.d.ts +26 -0
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/types/index.d.ts +93 -0
- package/lib/utils/ai_config.d.ts +47 -0
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.d.ts +1 -0
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.d.ts +42 -0
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.d.ts +23 -0
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.d.ts +37 -0
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.d.ts +9 -0
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.d.ts +42 -0
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.d.ts +1 -0
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.d.ts +30 -0
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.d.ts +25 -0
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.d.ts +80 -0
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.d.ts +30 -0
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.d.ts +7 -0
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.d.ts +62 -0
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.d.ts +15 -0
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.d.ts +21 -0
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.d.ts +38 -0
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.d.ts +1 -0
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.d.ts +55 -0
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.d.ts +10 -0
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.d.ts +1 -0
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.d.ts +1 -0
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.d.ts +6 -0
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +9 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 配置工具 — 薄代理层
|
|
3
|
+
*
|
|
4
|
+
* 所有配置文件读写的底层实现统一在 context.ts 中。
|
|
5
|
+
* 本模块保留历史导出接口,供旧命令使用。
|
|
6
|
+
*/
|
|
7
|
+
export { getProjectConfigPath, getGlobalConfigPath } from "../context.js";
|
|
8
|
+
export { isInProject } from "../context.js";
|
|
9
|
+
export declare function readConfig(projectRoot?: string): Record<string, any> & {
|
|
10
|
+
app?: string;
|
|
11
|
+
appcode?: string;
|
|
12
|
+
env?: string;
|
|
13
|
+
template_base_url?: string;
|
|
14
|
+
locale?: string;
|
|
15
|
+
};
|
|
16
|
+
export interface MultiAppConfig {
|
|
17
|
+
name: string;
|
|
18
|
+
appcode: string;
|
|
19
|
+
isDefault: boolean;
|
|
20
|
+
env?: string;
|
|
21
|
+
apiDir?: string;
|
|
22
|
+
cookie?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 获取配置的 AppCode
|
|
26
|
+
* 优先级:多应用 defaultApp > 项目 appcode > 项目 app > 全局 appcode > 全局 app
|
|
27
|
+
*/
|
|
28
|
+
export declare function getConfigAppCode(): string | undefined;
|
|
29
|
+
/** 多应用列表来源:`project` 仅项目文件 `apps`;`merged` 为全局+项目合并(与 readRawConfig 一致) */
|
|
30
|
+
export type MultiAppConfigScope = "project" | "merged";
|
|
31
|
+
/**
|
|
32
|
+
* 获取多应用配置列表。
|
|
33
|
+
* 返回 null 表示不在多应用模式(应使用单应用逻辑)。
|
|
34
|
+
*
|
|
35
|
+
* @param scope `project`(默认)仅当前项目 `.rabetbase.json` 等中的 `apps`;
|
|
36
|
+
* `merged` 使用全局+项目合并结果(api pull/list 传 `--global` 时)。
|
|
37
|
+
*/
|
|
38
|
+
export declare function getMultiAppConfigs(scope?: MultiAppConfigScope): MultiAppConfig[] | null;
|
|
39
|
+
/**
|
|
40
|
+
* 获取模板 CDN 基础 URL
|
|
41
|
+
*/
|
|
42
|
+
export declare function getTemplateBaseUrl(): string;
|
package/lib/utils/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a265_0x281566=a265_0x4efb;function a265_0x4efb(_0x56131a,_0x46b20e){_0x56131a=_0x56131a-0xab;const _0xbe998d=a265_0xbe99();let _0x4efb72=_0xbe998d[_0x56131a];return _0x4efb72;}(function(_0x773b8c,_0x2a588f){const _0x34f90d=a265_0x4efb,_0x395e4f=_0x773b8c();while(!![]){try{const _0x5c5084=parseInt(_0x34f90d(0xb1))/0x1*(parseInt(_0x34f90d(0xb5))/0x2)+-parseInt(_0x34f90d(0xb0))/0x3+-parseInt(_0x34f90d(0xab))/0x4*(-parseInt(_0x34f90d(0xb8))/0x5)+parseInt(_0x34f90d(0xaf))/0x6*(parseInt(_0x34f90d(0xac))/0x7)+-parseInt(_0x34f90d(0xb6))/0x8*(parseInt(_0x34f90d(0xb3))/0x9)+-parseInt(_0x34f90d(0xad))/0xa*(-parseInt(_0x34f90d(0xb7))/0xb)+parseInt(_0x34f90d(0xae))/0xc*(parseInt(_0x34f90d(0xb4))/0xd);if(_0x5c5084===_0x2a588f)break;else _0x395e4f['push'](_0x395e4f['shift']());}catch(_0x42c470){_0x395e4f['push'](_0x395e4f['shift']());}}}(a265_0xbe99,0xbd734));import{initEnv}from'../constant/env.js';import{readRawConfig,getConfigAppCode as a265_0x2d49c3,getMultiAppConfigs as a265_0x17d9d4,getTemplateBaseUrl as a265_0x1dddf9}from'../context.js';export{getProjectConfigPath,getGlobalConfigPath}from'../context.js';export{isInProject}from'../context.js';function a265_0xbe99(){const _0x5e3bd6=['1167548hgTagA','175oROgGS','670QoSLOS','5592zCaglM','346254MwrxlH','3566922veJIAa','25mcwhJa','env','9lBxsNp','10114yPyZrk','50188QtmESQ','12152480VKZjYr','124696pfrKIs','5JbGIZj','project'];a265_0xbe99=function(){return _0x5e3bd6;};return a265_0xbe99();}export function readConfig(_0x35006f){const _0x86f39c=a265_0x4efb,_0x527ab4=readRawConfig(_0x35006f);return _0x527ab4[_0x86f39c(0xb2)]&&typeof _0x527ab4[_0x86f39c(0xb2)]==='string'&&initEnv(_0x527ab4[_0x86f39c(0xb2)]),_0x527ab4;}export function getConfigAppCode(){return a265_0x2d49c3();}export function getMultiAppConfigs(_0x4aa51d=a265_0x281566(0xb9)){return a265_0x17d9d4(_0x4aa51d);}export function getTemplateBaseUrl(){return a265_0x1dddf9();}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function copyDirectory(src: string, dest: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a266_0xccb3(_0x452cbc,_0x54c76b){_0x452cbc=_0x452cbc-0x1c5;const _0x274163=a266_0x2741();let _0xccb3d4=_0x274163[_0x452cbc];return _0xccb3d4;}function a266_0x2741(){const _0x136e4f=['error','isDirectory','readdirSync','8abJHqO','copyFileSync','1130166PhWWnv','669490yCQAFX','66uzlVIv','50501649SKNzXJ','232826uyFxuj','name','2180968YuBLow','895500SOPnvR','1296634SWDoEV','join','100SUVsax','21tXrPWl'];a266_0x2741=function(){return _0x136e4f;};return a266_0x2741();}(function(_0x12b85d,_0x4bb09a){const _0x4a641f=a266_0xccb3,_0x163edd=_0x12b85d();while(!![]){try{const _0x428958=-parseInt(_0x4a641f(0x1cb))/0x1+parseInt(_0x4a641f(0x1cf))/0x2+parseInt(_0x4a641f(0x1c7))/0x3*(-parseInt(_0x4a641f(0x1c5))/0x4)+-parseInt(_0x4a641f(0x1c8))/0x5*(parseInt(_0x4a641f(0x1c9))/0x6)+parseInt(_0x4a641f(0x1d2))/0x7*(-parseInt(_0x4a641f(0x1cd))/0x8)+-parseInt(_0x4a641f(0x1ce))/0x9*(parseInt(_0x4a641f(0x1d1))/0xa)+parseInt(_0x4a641f(0x1ca))/0xb;if(_0x428958===_0x4bb09a)break;else _0x163edd['push'](_0x163edd['shift']());}catch(_0x16a628){_0x163edd['push'](_0x163edd['shift']());}}}(a266_0x2741,0xec2c5));import a266_0x1a9091 from'node:path';import a266_0x35c6fb from'node:fs';export async function copyDirectory(_0x254716,_0x3bea9e){const _0x5dd130=a266_0xccb3;try{const _0x5dd1b6=a266_0x35c6fb[_0x5dd130(0x1d5)](_0x254716,{'withFileTypes':!![]});a266_0x35c6fb['mkdirSync'](_0x3bea9e,{'recursive':!![]});for(const _0x39f7b8 of _0x5dd1b6){const _0x366eaa=a266_0x1a9091[_0x5dd130(0x1d0)](_0x254716,_0x39f7b8['name']),_0x10ceb3=a266_0x1a9091[_0x5dd130(0x1d0)](_0x3bea9e,_0x39f7b8[_0x5dd130(0x1cc)]);_0x39f7b8[_0x5dd130(0x1d4)]()?await copyDirectory(_0x366eaa,_0x10ceb3):a266_0x35c6fb[_0x5dd130(0x1c6)](_0x366eaa,_0x10ceb3);}}catch(_0x21afe6){console[_0x5dd130(0x1d3)]('复制目录时出错:',_0x21afe6);}}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalized shape for create/update responses that should contain an entity id.
|
|
3
|
+
*
|
|
4
|
+
* Why:
|
|
5
|
+
* backend endpoints are being migrated gradually and may return either:
|
|
6
|
+
* - primitive id (legacy): `data: 1070` or `data: "1070"`
|
|
7
|
+
* - full object (new): `data: { id: 1070, ... }`
|
|
8
|
+
*
|
|
9
|
+
* This unified shape allows command handlers to consume one contract and avoid
|
|
10
|
+
* false negatives like "created but no id", which can trigger duplicate retries.
|
|
11
|
+
*/
|
|
12
|
+
export interface NormalizedEntityWithId<T extends object = Record<string, unknown>> {
|
|
13
|
+
id: number | undefined;
|
|
14
|
+
entity: T;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Normalize API response data into a stable `{ id, entity }` shape.
|
|
18
|
+
*
|
|
19
|
+
* Problem solved:
|
|
20
|
+
* multiple endpoints are in a compatibility window where response `data`
|
|
21
|
+
* may be primitive id or object payload. This helper centralizes parsing
|
|
22
|
+
* so command code does not duplicate branching logic and can evolve safely
|
|
23
|
+
* while server contracts are transitioning.
|
|
24
|
+
*
|
|
25
|
+
* @param raw Raw response `data` from API.
|
|
26
|
+
* @typeParam T Expected entity object shape when the backend returns a full object.
|
|
27
|
+
* @param raw Raw response `data` from API.
|
|
28
|
+
* @returns Normalized id and entity object for downstream command flow.
|
|
29
|
+
*/
|
|
30
|
+
export declare function normalizeEntityWithIdResponse<T extends object = Record<string, unknown>>(raw: unknown): NormalizedEntityWithId<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a267_0x4556(_0x4b7fa1,_0x7d5bb4){_0x4b7fa1=_0x4b7fa1-0xee;const _0x4b5608=a267_0x4b56();let _0x455636=_0x4b5608[_0x4b7fa1];return _0x455636;}(function(_0x5ea89d,_0x306d4b){const _0xcf1e36=a267_0x4556,_0x16842a=_0x5ea89d();while(!![]){try{const _0x2514af=-parseInt(_0xcf1e36(0xf1))/0x1+-parseInt(_0xcf1e36(0xf7))/0x2+parseInt(_0xcf1e36(0xf6))/0x3+parseInt(_0xcf1e36(0xf2))/0x4*(-parseInt(_0xcf1e36(0xef))/0x5)+parseInt(_0xcf1e36(0xf3))/0x6+-parseInt(_0xcf1e36(0xee))/0x7*(parseInt(_0xcf1e36(0xf0))/0x8)+parseInt(_0xcf1e36(0xf4))/0x9;if(_0x2514af===_0x306d4b)break;else _0x16842a['push'](_0x16842a['shift']());}catch(_0x45863d){_0x16842a['push'](_0x16842a['shift']());}}}(a267_0x4b56,0xa3f6a));function toFiniteNumber(_0x200b2e){const _0x1a62bc=a267_0x4556;if(typeof _0x200b2e===_0x1a62bc(0xf5)&&Number[_0x1a62bc(0xfa)](_0x200b2e))return _0x200b2e;if(typeof _0x200b2e===_0x1a62bc(0xf8)){const _0x41a78a=_0x200b2e[_0x1a62bc(0xf9)]();if(!_0x41a78a)return undefined;const _0xf6dbe1=Number(_0x41a78a);if(Number['isFinite'](_0xf6dbe1))return _0xf6dbe1;}return undefined;}export function normalizeEntityWithIdResponse(_0x4aabe4){const _0x42c01c=toFiniteNumber(_0x4aabe4);if(_0x42c01c!==undefined)return{'id':_0x42c01c,'entity':{'id':_0x42c01c}};if(!_0x4aabe4||typeof _0x4aabe4!=='object')return{'id':undefined,'entity':{}};const _0x1229d6={..._0x4aabe4},_0x3a807c=toFiniteNumber(_0x1229d6['id']);return _0x3a807c!==undefined&&(_0x1229d6['id']=_0x3a807c),{'id':_0x3a807c,'entity':_0x1229d6};}function a267_0x4b56(){const _0x28410e=['1255883vOvrcb','16WYZaiV','5157966yPfLNj','1769814NxKjIb','number','3991086LXYDCa','448356Mglfmi','string','trim','isFinite','24710HOxAiQ','218755nGkevk','136DEWysP'];a267_0x4b56=function(){return _0x28410e;};return a267_0x4b56();}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文件操作工具函数
|
|
3
|
+
*
|
|
4
|
+
* 提供跨模块共享的文件操作逻辑
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* 递归复制目录
|
|
8
|
+
*
|
|
9
|
+
* @param src 源目录路径
|
|
10
|
+
* @param dest 目标目录路径
|
|
11
|
+
*/
|
|
12
|
+
export declare function copyDir(src: string, dest: string): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* 确保目录存在,如不存在则创建
|
|
15
|
+
*
|
|
16
|
+
* @param dir 目录路径
|
|
17
|
+
*/
|
|
18
|
+
export declare function ensureDir(dir: string): void;
|
|
19
|
+
/**
|
|
20
|
+
* 检查文件或目录是否存在
|
|
21
|
+
*
|
|
22
|
+
* @param path 文件或目录路径
|
|
23
|
+
* @returns 是否存在
|
|
24
|
+
*/
|
|
25
|
+
export declare function pathExists(path: string): boolean;
|
package/lib/utils/file-utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a268_0x2543(_0x38e955,_0x439b74){_0x38e955=_0x38e955-0x10b;const _0x51edb6=a268_0x51ed();let _0x2543f2=_0x51edb6[_0x38e955];return _0x2543f2;}(function(_0x372fb5,_0x393b03){const _0x4e0639=a268_0x2543,_0x1b3818=_0x372fb5();while(!![]){try{const _0x499c39=parseInt(_0x4e0639(0x10f))/0x1*(-parseInt(_0x4e0639(0x10e))/0x2)+-parseInt(_0x4e0639(0x114))/0x3*(-parseInt(_0x4e0639(0x112))/0x4)+-parseInt(_0x4e0639(0x111))/0x5+parseInt(_0x4e0639(0x115))/0x6*(parseInt(_0x4e0639(0x116))/0x7)+parseInt(_0x4e0639(0x10b))/0x8+parseInt(_0x4e0639(0x10d))/0x9*(-parseInt(_0x4e0639(0x10c))/0xa)+parseInt(_0x4e0639(0x110))/0xb;if(_0x499c39===_0x393b03)break;else _0x1b3818['push'](_0x1b3818['shift']());}catch(_0x4ca2b3){_0x1b3818['push'](_0x1b3818['shift']());}}}(a268_0x51ed,0x5c448));import{existsSync,mkdirSync,copyFileSync,readdirSync,statSync}from'node:fs';import{join}from'node:path';export async function copyDir(_0x520ef5,_0x54f8d5){const _0x2bab32=a268_0x2543,_0x2bb586=statSync(_0x520ef5);if(_0x2bb586[_0x2bab32(0x113)]()){!existsSync(_0x54f8d5)&&mkdirSync(_0x54f8d5,{'recursive':!![]});const _0x2fd1a2=readdirSync(_0x520ef5);for(const _0x1645a8 of _0x2fd1a2){await copyDir(join(_0x520ef5,_0x1645a8),join(_0x54f8d5,_0x1645a8));}}else copyFileSync(_0x520ef5,_0x54f8d5);}export function ensureDir(_0x19c1ca){!existsSync(_0x19c1ca)&&mkdirSync(_0x19c1ca,{'recursive':!![]});}export function pathExists(_0x2efaa0){return existsSync(_0x2efaa0);}function a268_0x51ed(){const _0x839faf=['104BWFuaC','isDirectory','1380MaTpXH','3108zsfDck','4298uRqmAO','3075176EBDqhB','3020TQkgTZ','21492efWJRy','397060ppqtid','2qIBquO','15382092gvzcfV','3083085mqsOGE'];a268_0x51ed=function(){return _0x839faf;};return a268_0x51ed();}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Guides CDN 工具
|
|
3
|
+
*
|
|
4
|
+
* 从 CDN 拉取 skill guides 数据,并写入到用户项目
|
|
5
|
+
*
|
|
6
|
+
* 优先级:本地 dist 文件(开发模式) > CDN(生产模式)
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Guides 数据结构
|
|
10
|
+
*/
|
|
11
|
+
export interface GuidesData {
|
|
12
|
+
version: string;
|
|
13
|
+
buildTime: string;
|
|
14
|
+
skillTemplate: {
|
|
15
|
+
content: string;
|
|
16
|
+
lastUpdated?: string;
|
|
17
|
+
};
|
|
18
|
+
guides: Record<string, {
|
|
19
|
+
title: string;
|
|
20
|
+
path: string;
|
|
21
|
+
content: string;
|
|
22
|
+
lastUpdated?: string;
|
|
23
|
+
requireFlags?: string[];
|
|
24
|
+
extendContent?: string;
|
|
25
|
+
extendLastUpdated?: string;
|
|
26
|
+
}>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 从 CDN 拉取 guides 数据(单一 guides.json,已含全部指南)
|
|
30
|
+
*/
|
|
31
|
+
export declare function fetchGuidesFromCDN(): Promise<GuidesData>;
|
|
32
|
+
/**
|
|
33
|
+
* 将 guides 数据写入到项目目录
|
|
34
|
+
*
|
|
35
|
+
* @param guidesData - guides 数据
|
|
36
|
+
* @param projectRoot - 项目根目录
|
|
37
|
+
* @param basePath - 目标基础路径
|
|
38
|
+
* @param _providedFlags 保留参数以兼容旧调用方;指南已全量安装,不再按 flag 过滤
|
|
39
|
+
*/
|
|
40
|
+
export declare function writeGuidesToProject(guidesData: GuidesData, projectRoot: string, basePath?: string, _providedFlags?: string[]): void;
|
|
41
|
+
/**
|
|
42
|
+
* 追加更新时间到内容末尾(通用方法)
|
|
43
|
+
*/
|
|
44
|
+
export declare function appendUpdateTime(content: string, lastUpdated: string): string;
|
|
45
|
+
/**
|
|
46
|
+
* 获取 SKILL.md 模板内容(用于替换 {{IDE_NAME}})
|
|
47
|
+
*/
|
|
48
|
+
export declare function getSkillTemplate(guidesData: GuidesData): string;
|
|
49
|
+
/**
|
|
50
|
+
* 追加符合条件的 extendContent 到 SKILL.md
|
|
51
|
+
*
|
|
52
|
+
* @param content - 当前 SKILL.md 内容
|
|
53
|
+
* @param guidesData - guides 数据
|
|
54
|
+
* @param _providedFlags 保留兼容;extend 全量追加(requireFlags 仅作元数据,见各指南正文)
|
|
55
|
+
* @returns 追加 extendContent 后的内容
|
|
56
|
+
*/
|
|
57
|
+
export declare function appendExtendContents(content: string, guidesData: GuidesData, _providedFlags?: string[]): string;
|
|
58
|
+
/**
|
|
59
|
+
* 写入 SKILL.md 到目标路径(替换 {{IDE_NAME}} 占位符)
|
|
60
|
+
*
|
|
61
|
+
* @param guidesData - guides 数据
|
|
62
|
+
* @param destPath - 目标文件路径
|
|
63
|
+
* @param ideDisplayName - IDE 显示名称(替换 {{IDE_NAME}})
|
|
64
|
+
*/
|
|
65
|
+
export declare function writeSkillFile(guidesData: GuidesData, destPath: string, ideDisplayName: string): void;
|
|
66
|
+
/**
|
|
67
|
+
* 安装 guides(从 CDN 拉取并写入项目)
|
|
68
|
+
*
|
|
69
|
+
* @param projectRoot 项目根目录
|
|
70
|
+
* @returns 写入的 guides 数量
|
|
71
|
+
*/
|
|
72
|
+
export declare function installGuides(projectRoot: string): Promise<number>;
|
|
73
|
+
/**
|
|
74
|
+
* 获取 guides 摘要(用于显示)
|
|
75
|
+
*/
|
|
76
|
+
export declare function getGuidesSummary(guidesData: GuidesData): Array<{
|
|
77
|
+
key: string;
|
|
78
|
+
title: string;
|
|
79
|
+
path: string;
|
|
80
|
+
}>;
|
package/lib/utils/guides-cdn.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a269_0x534f7f=a269_0x2168;(function(_0x5c3c2b,_0x6e07a0){const _0x3a9cba=a269_0x2168,_0x3c7be1=_0x5c3c2b();while(!![]){try{const _0x4f7b81=parseInt(_0x3a9cba(0x1cd))/0x1+-parseInt(_0x3a9cba(0x1c3))/0x2+-parseInt(_0x3a9cba(0x1c5))/0x3*(-parseInt(_0x3a9cba(0x1ce))/0x4)+parseInt(_0x3a9cba(0x1c0))/0x5*(-parseInt(_0x3a9cba(0x1c9))/0x6)+-parseInt(_0x3a9cba(0x1e2))/0x7+parseInt(_0x3a9cba(0x1d9))/0x8*(-parseInt(_0x3a9cba(0x1e0))/0x9)+parseInt(_0x3a9cba(0x1d7))/0xa;if(_0x4f7b81===_0x6e07a0)break;else _0x3c7be1['push'](_0x3c7be1['shift']());}catch(_0x5d7106){_0x3c7be1['push'](_0x3c7be1['shift']());}}}(a269_0x2cc1,0x31155));import{mkdirSync,writeFileSync}from'node:fs';import{dirname,join}from'node:path';import{homedir}from'node:os';import{getTemplateBaseUrl}from'../utils/config.js';function getGuidesCdnUrl(){const _0x5d6674=getTemplateBaseUrl();return _0x5d6674+'/skills/guides.json';}function a269_0x2168(_0x2da06d,_0x6c366b){_0x2da06d=_0x2da06d-0x1bf;const _0x2cc196=a269_0x2cc1();let _0x2168a6=_0x2cc196[_0x2da06d];return _0x2168a6;}const CACHE_DIR=join(homedir(),a269_0x534f7f(0x1de),a269_0x534f7f(0x1cf));export async function fetchGuidesFromCDN(){const _0x4e7e90=a269_0x534f7f,_0x4758f0=getGuidesCdnUrl(),_0xfe8607=await fetch(_0x4758f0,{'headers':{'Accept':_0x4e7e90(0x1e1)}});if(!_0xfe8607['ok'])throw new Error(_0x4e7e90(0x1dc)+_0xfe8607[_0x4e7e90(0x1c6)]+'\x20'+_0xfe8607[_0x4e7e90(0x1d3)]);const _0x487237=await _0xfe8607['json']();if(!_0x487237[_0x4e7e90(0x1da)]||typeof _0x487237[_0x4e7e90(0x1da)]!==_0x4e7e90(0x1c1))throw new Error(_0x4e7e90(0x1db));return _0x487237;}export function writeGuidesToProject(_0x8afd22,_0x34edcf,_0x410eb4='.lovrabet/skill/guides',_0x57a2f7){const _0x25f322=a269_0x534f7f,_0x4a21e9=join(_0x34edcf,_0x410eb4);mkdirSync(_0x4a21e9,{'recursive':!![]});for(const [_0x398b10,_0xd1ef08]of Object['entries'](_0x8afd22[_0x25f322(0x1da)])){let _0x5c1d79=_0xd1ef08[_0x25f322(0x1d8)];_0xd1ef08[_0x25f322(0x1d0)]&&(_0x5c1d79=appendUpdateTime(_0x5c1d79,_0xd1ef08[_0x25f322(0x1d0)])),writeFileSync(join(_0x4a21e9,_0x398b10+_0x25f322(0x1ca)),_0x5c1d79,_0x25f322(0x1d1));}}export function appendUpdateTime(_0x216110,_0x1b6ad6){const _0x53b1dc=a269_0x534f7f;return _0x216110=_0x216110[_0x53b1dc(0x1c8)](/\n*>更新时间:.*$/m,''),_0x216110[_0x53b1dc(0x1c2)]()+(_0x53b1dc(0x1d6)+_0x1b6ad6);}function a269_0x2cc1(){const _0x3fc1c5=['length','468246FncPBF','status','map','replace','1259166YnCHes','.md','skillTemplate','CDN\x20数据中缺少\x20skillTemplate','386553FFqjUh','4QqeyOO','cache','lastUpdated','utf-8','push','statusText','title','keys','\x0a\x0a>更新时间:','6092900wzyCWk','content','12984lvXzEq','guides','CDN\x20返回数据格式错误','CDN\x20请求失败:\x20','extendContent','.lovrabet','entries','477ZciiWN','application/json','2476425PYPXeQ','join','5xkDJag','object','trimEnd','602450cNFVeV'];a269_0x2cc1=function(){return _0x3fc1c5;};return a269_0x2cc1();}export function getSkillTemplate(_0x368f1d){const _0x460f4e=a269_0x534f7f;return _0x368f1d[_0x460f4e(0x1cb)]?.[_0x460f4e(0x1d8)]||'';}export function appendExtendContents(_0x34e05d,_0x2512b3,_0x512019){const _0x1c11fb=a269_0x534f7f,_0x184f71=[];for(const [,_0x2dfe78]of Object[_0x1c11fb(0x1df)](_0x2512b3[_0x1c11fb(0x1da)])){_0x2dfe78[_0x1c11fb(0x1dd)]&&_0x184f71[_0x1c11fb(0x1d2)](_0x2dfe78['extendContent'][_0x1c11fb(0x1c2)]());}if(_0x184f71['length']===0x0)return _0x34e05d;return _0x34e05d[_0x1c11fb(0x1c2)]()+'\x0a\x0a'+_0x184f71[_0x1c11fb(0x1bf)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0x385da2,_0x4c68fa,_0xa95871){const _0x8c8bec=a269_0x534f7f,_0x425419=getSkillTemplate(_0x385da2);if(!_0x425419)throw new Error(_0x8c8bec(0x1cc));const _0x338d87=dirname(_0x4c68fa);mkdirSync(_0x338d87,{'recursive':!![]});let _0x5e8b2d=_0x425419[_0x8c8bec(0x1c8)](/\{\{IDE_NAME\}\}/g,_0xa95871);_0x5e8b2d=appendExtendContents(_0x5e8b2d,_0x385da2),_0x385da2[_0x8c8bec(0x1cb)][_0x8c8bec(0x1d0)]&&(_0x5e8b2d=appendUpdateTime(_0x5e8b2d,_0x385da2[_0x8c8bec(0x1cb)][_0x8c8bec(0x1d0)])),writeFileSync(_0x4c68fa,_0x5e8b2d,_0x8c8bec(0x1d1));}export async function installGuides(_0xbb62bc){const _0x5ed474=a269_0x534f7f,_0x58c434=await fetchGuidesFromCDN();return writeGuidesToProject(_0x58c434,_0xbb62bc),Object[_0x5ed474(0x1d5)](_0x58c434[_0x5ed474(0x1da)])[_0x5ed474(0x1c4)];}export function getGuidesSummary(_0x9f62b1){const _0x5acfc3=a269_0x534f7f;return Object[_0x5acfc3(0x1df)](_0x9f62b1[_0x5acfc3(0x1da)])[_0x5acfc3(0x1c7)](([_0x14768d,_0x22e8a6])=>({'key':_0x14768d,'title':_0x22e8a6[_0x5acfc3(0x1d4)],'path':_0x22e8a6['path']}));}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP 客户端工具,提供健壮的网络请求功能
|
|
3
|
+
*/
|
|
4
|
+
export interface RequestOptions {
|
|
5
|
+
/** 请求超时时间(毫秒),默认 30 秒 */
|
|
6
|
+
timeout?: number;
|
|
7
|
+
/** 重试次数,默认 3 次 */
|
|
8
|
+
retries?: number;
|
|
9
|
+
/** 重试间隔(毫秒),默认 1 秒 */
|
|
10
|
+
retryDelay?: number;
|
|
11
|
+
/** 请求头 */
|
|
12
|
+
headers?: Record<string, string>;
|
|
13
|
+
}
|
|
14
|
+
export interface HttpResponse<T = any> {
|
|
15
|
+
ok: boolean;
|
|
16
|
+
status: number;
|
|
17
|
+
statusText: string;
|
|
18
|
+
data: T;
|
|
19
|
+
headers: Headers;
|
|
20
|
+
url: string;
|
|
21
|
+
text(): Promise<string>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 可重试的 HTTP 请求
|
|
25
|
+
*/
|
|
26
|
+
export declare function httpRequest<T = any>(url: string, options?: RequestOptions): Promise<HttpResponse<T>>;
|
|
27
|
+
/**
|
|
28
|
+
* 验证 URL 格式
|
|
29
|
+
*/
|
|
30
|
+
export declare function validateUrl(url: string): boolean;
|
package/lib/utils/http-client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a270_0x3882(_0x186d21,_0x4664e8){_0x186d21=_0x186d21-0x18f;const _0x1465e9=a270_0x1465();let _0x3882e3=_0x1465e9[_0x186d21];return _0x3882e3;}(function(_0x4ef4c8,_0x15fb52){const _0x39e73c=a270_0x3882,_0x4ecaee=_0x4ef4c8();while(!![]){try{const _0x5b6085=-parseInt(_0x39e73c(0x19d))/0x1+parseInt(_0x39e73c(0x1a1))/0x2*(parseInt(_0x39e73c(0x1ad))/0x3)+parseInt(_0x39e73c(0x1a7))/0x4*(-parseInt(_0x39e73c(0x1a9))/0x5)+parseInt(_0x39e73c(0x195))/0x6+parseInt(_0x39e73c(0x1a5))/0x7+-parseInt(_0x39e73c(0x1aa))/0x8*(-parseInt(_0x39e73c(0x1a3))/0x9)+parseInt(_0x39e73c(0x1ac))/0xa*(-parseInt(_0x39e73c(0x1a6))/0xb);if(_0x5b6085===_0x15fb52)break;else _0x4ecaee['push'](_0x4ecaee['shift']());}catch(_0x4bbc69){_0x4ecaee['push'](_0x4ecaee['shift']());}}}(a270_0x1465,0xae4e3));function a270_0x1465(){const _0x4c1e13=['headers','35686GYkLTZ','includes','99qTesNK','text','5621742ueGdER','77JsHmLM','765956DuYyGn','log','15hUWnin','437432YQABQV','*\x20请求失败,','1149570hFwhrN','204pIsewC','TypeError','ECONNRESET','ms\x20后进行第\x20','\x20次重试...','message','Request\x20failed','get','789534iaZbiQ','ENOTFOUND','AbortError','json','name','abort','statusText','url','656367hAzJhM','content-type','status'];a270_0x1465=function(){return _0x4c1e13;};return a270_0x1465();}export async function httpRequest(_0x5e182c,_0x534f6f={}){const _0xbe7639=a270_0x3882,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x534f6f;let _0x4f3796=null;for(let _0x2c0698=0x0;_0x2c0698<=retries;_0x2c0698++){try{const _0x3d4cee=new AbortController(),_0x38f259=setTimeout(()=>_0x3d4cee[_0xbe7639(0x19a)](),timeout),_0x190516=await fetch(_0x5e182c,{'headers':headers,'signal':_0x3d4cee['signal']});clearTimeout(_0x38f259);let _0x14813e;const _0x259b10=_0x190516[_0xbe7639(0x1a0)][_0xbe7639(0x194)](_0xbe7639(0x19e));return _0x259b10?.[_0xbe7639(0x1a2)]('application/json')?_0x14813e=await _0x190516[_0xbe7639(0x198)]():_0x14813e=await _0x190516[_0xbe7639(0x1a4)](),{'ok':_0x190516['ok'],'status':_0x190516[_0xbe7639(0x19f)],'statusText':_0x190516[_0xbe7639(0x19b)],'data':_0x14813e,'headers':_0x190516['headers'],'url':_0x190516[_0xbe7639(0x19c)],'text':()=>_0x190516[_0xbe7639(0x1a4)]()};}catch(_0x493ada){_0x4f3796=_0x493ada instanceof Error?_0x493ada:new Error(String(_0x493ada));if(_0x2c0698===retries)break;if(shouldRetry(_0x493ada)){console[_0xbe7639(0x1a8)](_0xbe7639(0x1ab)+retryDelay+_0xbe7639(0x190)+(_0x2c0698+0x1)+_0xbe7639(0x191)),await sleep(retryDelay);continue;}else break;}}throw _0x4f3796||new Error(_0xbe7639(0x193));}function shouldRetry(_0x136148){const _0x5b8435=a270_0x3882;if(_0x136148 instanceof Error){if(_0x136148[_0x5b8435(0x199)]===_0x5b8435(0x197))return![];if(_0x136148[_0x5b8435(0x199)]===_0x5b8435(0x1ae)&&_0x136148[_0x5b8435(0x192)]['includes']('fetch'))return!![];if(_0x136148['message'][_0x5b8435(0x1a2)](_0x5b8435(0x18f)))return!![];if(_0x136148[_0x5b8435(0x192)][_0x5b8435(0x1a2)](_0x5b8435(0x196)))return![];}return![];}function sleep(_0x40d1cb){return new Promise(_0x36c74c=>setTimeout(_0x36c74c,_0x40d1cb));}export function validateUrl(_0x1f2f4d){try{return new URL(_0x1f2f4d),!![];}catch{return![];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x333cce,_0x3d9b1e){const _0x270941=a271_0x568d,_0x2c446c=_0x333cce();while(!![]){try{const _0x10724d=-parseInt(_0x270941(0x159))/0x1*(parseInt(_0x270941(0x156))/0x2)+parseInt(_0x270941(0x154))/0x3*(-parseInt(_0x270941(0x150))/0x4)+parseInt(_0x270941(0x15b))/0x5*(parseInt(_0x270941(0x14c))/0x6)+-parseInt(_0x270941(0x15a))/0x7*(-parseInt(_0x270941(0x149))/0x8)+-parseInt(_0x270941(0x14a))/0x9*(parseInt(_0x270941(0x152))/0xa)+parseInt(_0x270941(0x14f))/0xb*(-parseInt(_0x270941(0x157))/0xc)+-parseInt(_0x270941(0x14e))/0xd*(-parseInt(_0x270941(0x155))/0xe);if(_0x10724d===_0x3d9b1e)break;else _0x2c446c['push'](_0x2c446c['shift']());}catch(_0xf843f3){_0x2c446c['push'](_0x2c446c['shift']());}}}(a271_0x663e,0xcc793));function env(_0x1f0353){return process.env[`RABETBASE_${_0x1f0353}`]||process.env[`LOVRABET_${_0x1f0353}`]||undefined;}function a271_0x568d(_0x46c1b2,_0x1aed4f){_0x46c1b2=_0x46c1b2-0x149;const _0x663e3e=a271_0x663e();let _0x568d98=_0x663e3e[_0x46c1b2];return _0x568d98;}export function isNonInteractive(_0x1d5cf8){const _0x6e3e4e=a271_0x568d;return!!(_0x1d5cf8['nonInteractive']||_0x1d5cf8['ci']||env('CI')===_0x6e3e4e(0x158)||process.env.CI===_0x6e3e4e(0x158)||!process[_0x6e3e4e(0x14d)][_0x6e3e4e(0x153)]||!isStdinRawModeSupported());}function isStdinRawModeSupported(){const _0x2ee95b=a271_0x568d;if(!process[_0x2ee95b(0x14b)][_0x2ee95b(0x153)])return![];try{const _0xed2b82=process[_0x2ee95b(0x14b)]['isRaw'];return process['stdin'][_0x2ee95b(0x151)](!![]),process[_0x2ee95b(0x14b)][_0x2ee95b(0x151)](_0xed2b82??![]),!![];}catch{return![];}}function a271_0x663e(){const _0x446937=['26514kVBaos','stdin','2766AQCULB','stdout','38596337kvcmSz','11nyqVzL','4ZEGMhI','setRawMode','4090ysapJk','isTTY','1750983cusbcw','14krNKsW','7662mLcqZO','9140232SiQtgR','true','234FGQrlw','1071413bHCPNb','985pEoxZG','64mFczvW'];a271_0x663e=function(){return _0x446937;};return a271_0x663e();}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import winston from "winston";
|
|
2
|
+
export interface LogEntry {
|
|
3
|
+
timestamp: string;
|
|
4
|
+
level: "info" | "success" | "error" | "warn";
|
|
5
|
+
command: string;
|
|
6
|
+
rawCommand?: string;
|
|
7
|
+
message: string;
|
|
8
|
+
duration?: number;
|
|
9
|
+
details?: any;
|
|
10
|
+
}
|
|
11
|
+
declare class Logger {
|
|
12
|
+
private winstonLogger;
|
|
13
|
+
private logFilePath;
|
|
14
|
+
private currentRawCommand;
|
|
15
|
+
constructor();
|
|
16
|
+
/**
|
|
17
|
+
* 设置当前执行的原始命令
|
|
18
|
+
*/
|
|
19
|
+
setRawCommand(rawCommand: string): void;
|
|
20
|
+
/**
|
|
21
|
+
* 初始化 Winston Logger
|
|
22
|
+
*/
|
|
23
|
+
private initWinstonLogger;
|
|
24
|
+
/**
|
|
25
|
+
* 设置日志文件路径
|
|
26
|
+
*/
|
|
27
|
+
setLogPath(projectPath: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* 记录信息日志
|
|
30
|
+
*/
|
|
31
|
+
info(command: string, message: string, details?: any): void;
|
|
32
|
+
/**
|
|
33
|
+
* 记录成功日志
|
|
34
|
+
*/
|
|
35
|
+
success(command: string, message: string, duration?: number, details?: any): void;
|
|
36
|
+
/**
|
|
37
|
+
* 记录错误日志
|
|
38
|
+
*/
|
|
39
|
+
error(command: string, message: string, details?: any): void;
|
|
40
|
+
/**
|
|
41
|
+
* 记录警告日志
|
|
42
|
+
*/
|
|
43
|
+
warn(command: string, message: string, details?: any): void;
|
|
44
|
+
/**
|
|
45
|
+
* 记录带执行时间的任务
|
|
46
|
+
*/
|
|
47
|
+
logTask<T>(command: string, taskName: string, task: () => Promise<T>): Promise<T>;
|
|
48
|
+
/**
|
|
49
|
+
* 读取日志文件内容
|
|
50
|
+
*/
|
|
51
|
+
readLogs(): LogEntry[];
|
|
52
|
+
/**
|
|
53
|
+
* 清空日志文件
|
|
54
|
+
*/
|
|
55
|
+
clearLogs(): void;
|
|
56
|
+
/**
|
|
57
|
+
* 获取 Winston Logger 实例 (用于高级用法)
|
|
58
|
+
*/
|
|
59
|
+
getWinstonInstance(): winston.Logger;
|
|
60
|
+
}
|
|
61
|
+
export declare const logger: Logger;
|
|
62
|
+
export {};
|
package/lib/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a272_0x2b852a=a272_0xcf91;function a272_0xcf91(_0x4366ff,_0x388c97){_0x4366ff=_0x4366ff-0xe8;const _0x426833=a272_0x4268();let _0xcf9193=_0x426833[_0x4366ff];return _0xcf9193;}(function(_0x431d5a,_0x2a6971){const _0x2b5492=a272_0xcf91,_0x54d516=_0x431d5a();while(!![]){try{const _0x4dcf14=parseInt(_0x2b5492(0x10e))/0x1+parseInt(_0x2b5492(0x108))/0x2+parseInt(_0x2b5492(0x11c))/0x3*(-parseInt(_0x2b5492(0x11e))/0x4)+-parseInt(_0x2b5492(0xef))/0x5*(-parseInt(_0x2b5492(0xf3))/0x6)+-parseInt(_0x2b5492(0x107))/0x7+-parseInt(_0x2b5492(0xf0))/0x8*(parseInt(_0x2b5492(0x109))/0x9)+parseInt(_0x2b5492(0xeb))/0xa*(-parseInt(_0x2b5492(0x114))/0xb);if(_0x4dcf14===_0x2a6971)break;else _0x54d516['push'](_0x54d516['shift']());}catch(_0x29bf6f){_0x54d516['push'](_0x54d516['shift']());}}}(a272_0x4268,0x3f5fc));import a272_0x40fd6c from'winston';import a272_0x337f91 from'node:fs';import a272_0x1265f1 from'node:path';class Logger{[a272_0x2b852a(0x116)];['logFilePath'];['currentRawCommand']='';constructor(){const _0x321971=a272_0x2b852a;this[_0x321971(0x100)]='';}[a272_0x2b852a(0x10f)](_0x424dec){const _0xc9fc2c=a272_0x2b852a;this[_0xc9fc2c(0xf7)]=_0x424dec;}['initWinstonLogger'](){const _0x352ef5=a272_0x2b852a,_0x1105da=a272_0x1265f1[_0x352ef5(0xe9)](this[_0x352ef5(0x100)]);!a272_0x337f91[_0x352ef5(0x11a)](_0x1105da)&&a272_0x337f91['mkdirSync'](_0x1105da,{'recursive':!![]});const _0x1dd986=a272_0x40fd6c[_0x352ef5(0x11b)][_0x352ef5(0x104)](a272_0x40fd6c[_0x352ef5(0x11b)][_0x352ef5(0x111)](),a272_0x40fd6c[_0x352ef5(0x11b)]['errors']({'stack':!![]}),a272_0x40fd6c[_0x352ef5(0x11b)][_0x352ef5(0xee)](_0x548804=>{const _0x2b278f=_0x352ef5,_0x32383e={'timestamp':_0x548804[_0x2b278f(0x111)]||new Date()[_0x2b278f(0x101)](),'level':_0x548804[_0x2b278f(0x10b)]||_0x2b278f(0xfa),'command':_0x548804['command']||_0x2b278f(0xf8),'rawCommand':_0x548804[_0x2b278f(0x105)]||this['currentRawCommand']||undefined,'message':_0x548804[_0x2b278f(0x118)]||'','duration':_0x548804[_0x2b278f(0x112)]||undefined,'details':_0x548804[_0x2b278f(0x11f)]||undefined};return JSON[_0x2b278f(0x115)](_0x32383e);}));this[_0x352ef5(0x116)]=a272_0x40fd6c[_0x352ef5(0xec)]({'level':_0x352ef5(0xfa),'format':_0x1dd986,'transports':[new a272_0x40fd6c[(_0x352ef5(0x119))]['File']({'filename':this[_0x352ef5(0x100)],'level':'info'})],'silent':![]}),a272_0x40fd6c[_0x352ef5(0x11d)]({'success':'green','error':_0x352ef5(0xfd),'warn':_0x352ef5(0xfc),'info':_0x352ef5(0x10c)});}['setLogPath'](_0x134f29){const _0x229a9f=a272_0x2b852a;this['logFilePath']=a272_0x1265f1[_0x229a9f(0x10a)](_0x134f29,_0x229a9f(0xf5)),this[_0x229a9f(0x116)]&&this[_0x229a9f(0x116)][_0x229a9f(0xf4)](),this[_0x229a9f(0xf1)]();}['info'](_0x2abd9c,_0x3e2269,_0x47f892){const _0x99daf2=a272_0x2b852a;if(!this[_0x99daf2(0x100)]||!this[_0x99daf2(0x116)])return;this['winstonLogger'][_0x99daf2(0xfa)](_0x3e2269,{'command':_0x2abd9c,'details':_0x47f892});}['success'](_0x24690d,_0x30e5d7,_0x53df8c,_0x1e16b0){const _0x33d476=a272_0x2b852a;if(!this[_0x33d476(0x100)]||!this[_0x33d476(0x116)])return;this[_0x33d476(0x116)]['log'](_0x33d476(0xfa),_0x30e5d7,{'level':_0x33d476(0x10d),'command':_0x24690d,'duration':_0x53df8c,'details':_0x1e16b0});}['error'](_0x520b83,_0x257778,_0x403676){const _0x4ed527=a272_0x2b852a;if(!this[_0x4ed527(0x100)]||!this[_0x4ed527(0x116)])return;this[_0x4ed527(0x116)][_0x4ed527(0x102)](_0x257778,{'command':_0x520b83,'details':_0x403676});}[a272_0x2b852a(0xf9)](_0x4dba1c,_0x5a17c1,_0x32a326){const _0x579749=a272_0x2b852a;if(!this['logFilePath']||!this['winstonLogger'])return;this[_0x579749(0x116)][_0x579749(0xf9)](_0x5a17c1,{'command':_0x4dba1c,'details':_0x32a326});}async[a272_0x2b852a(0x117)](_0x3c8c18,_0xda953a,_0x36b331){const _0x4a8345=a272_0x2b852a,_0x427100=Date['now']();this[_0x4a8345(0xfa)](_0x3c8c18,_0x4a8345(0x106)+_0xda953a);try{const _0x35dccb=await _0x36b331(),_0x1b90fa=Date[_0x4a8345(0x103)]()-_0x427100;return this[_0x4a8345(0x10d)](_0x3c8c18,'完成:\x20'+_0xda953a,_0x1b90fa),_0x35dccb;}catch(_0x27a4d4){const _0x5c6c1a=Date[_0x4a8345(0x103)]()-_0x427100;this[_0x4a8345(0x102)](_0x3c8c18,_0x4a8345(0xff)+_0xda953a,{'error':_0x27a4d4 instanceof Error?_0x27a4d4['message']:String(_0x27a4d4),'duration':_0x5c6c1a});throw _0x27a4d4;}}[a272_0x2b852a(0x120)](){const _0x2f1549=a272_0x2b852a;try{if(!a272_0x337f91[_0x2f1549(0x11a)](this[_0x2f1549(0x100)]))return[];const _0x1f9ada=a272_0x337f91[_0x2f1549(0xea)](this[_0x2f1549(0x100)],_0x2f1549(0xf2));return _0x1f9ada[_0x2f1549(0xfe)]('\x0a')[_0x2f1549(0xed)](_0x38d4d6=>_0x38d4d6[_0x2f1549(0xe8)]())['map'](_0x400ebe=>JSON[_0x2f1549(0xfb)](_0x400ebe));}catch(_0x544c01){return console[_0x2f1549(0xf9)](_0x2f1549(0x121),_0x544c01),[];}}[a272_0x2b852a(0xf6)](){const _0x8173ea=a272_0x2b852a;try{a272_0x337f91['existsSync'](this['logFilePath'])&&a272_0x337f91['writeFileSync'](this[_0x8173ea(0x100)],'',_0x8173ea(0xf2));}catch(_0x8a3da1){console['warn'](_0x8173ea(0x110),_0x8a3da1);}}[a272_0x2b852a(0x113)](){const _0x40c57e=a272_0x2b852a;return this[_0x40c57e(0x116)];}}function a272_0x4268(){const _0x56b2fe=['clearLogs','currentRawCommand','unknown','warn','info','parse','yellow','red','split','失败:\x20','logFilePath','toISOString','error','now','combine','rawCommand','开始执行:\x20','339976kYadve','990018PYKpdL','9iscUAq','join','level','blue','success','324917oMmCem','setRawCommand','Failed\x20to\x20clear\x20logs:','timestamp','duration','getWinstonInstance','699281EogYhy','stringify','winstonLogger','logTask','message','transports','existsSync','format','956919RILKeu','addColors','4ZwlYua','details','readLogs','Failed\x20to\x20read\x20logs:','trim','dirname','readFileSync','10uVHnlx','createLogger','filter','printf','102215urgzPO','1197416gkoyDD','initWinstonLogger','utf8','6FJsKJv','clear','.lovrabet.log'];a272_0x4268=function(){return _0x56b2fe;};return a272_0x4268();}export const logger=new Logger();
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Shared JSON parsing helpers for `--params`.
|
|
3
|
+
*
|
|
4
|
+
* These helpers keep parameter parsing consistent across commands that accept
|
|
5
|
+
* structured JSON input. The current callers all require an object payload,
|
|
6
|
+
* so arrays and primitives are rejected with a validation error.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Parses `--params` as a JSON object.
|
|
10
|
+
*
|
|
11
|
+
* @param paramsStr - Raw `--params` flag value.
|
|
12
|
+
* @returns Parsed object, or `undefined` when the flag is not provided.
|
|
13
|
+
* @throws CliError When the value is not valid JSON or is not a JSON object.
|
|
14
|
+
*/
|
|
15
|
+
export declare function parseJsonParams(paramsStr: string | undefined): Record<string, any> | undefined;
|
package/lib/utils/params.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x18f119,_0x486c83){const _0x174eac=a273_0x3025,_0x517b07=_0x18f119();while(!![]){try{const _0x5bef0e=-parseInt(_0x174eac(0x69))/0x1*(-parseInt(_0x174eac(0x6d))/0x2)+parseInt(_0x174eac(0x72))/0x3+-parseInt(_0x174eac(0x6b))/0x4*(parseInt(_0x174eac(0x76))/0x5)+parseInt(_0x174eac(0x70))/0x6+-parseInt(_0x174eac(0x78))/0x7*(parseInt(_0x174eac(0x71))/0x8)+parseInt(_0x174eac(0x6c))/0x9+-parseInt(_0x174eac(0x6f))/0xa;if(_0x5bef0e===_0x486c83)break;else _0x517b07['push'](_0x517b07['shift']());}catch(_0x3b794a){_0x517b07['push'](_0x517b07['shift']());}}}(a273_0x4d33,0x28d22));function a273_0x3025(_0x423f43,_0xd18ae2){_0x423f43=_0x423f43-0x69;const _0x4d3390=a273_0x4d33();let _0x302518=_0x4d3390[_0x423f43];return _0x302518;}import{CliErrors}from'../errors.js';function a273_0x4d33(){const _0x553434=['--params\x20must\x20be\x20a\x20JSON\x20object','isArray','parse','325865DKRXeD','Invalid\x20JSON\x20for\x20--params:\x20','652939NHjESf','121sKaMJH','Example:\x20--params\x20\x27{\x22id\x22:123}\x27','12gsOVAY','1462518CTdAVM','2322VlGliC','validation','1472830psboRw','1594680PtRPBw','8KJZypH','103554nIoiKS'];a273_0x4d33=function(){return _0x553434;};return a273_0x4d33();}export function parseJsonParams(_0x3e09d4){const _0x90fe6e=a273_0x3025;if(!_0x3e09d4)return undefined;let _0x6a942d;try{_0x6a942d=JSON[_0x90fe6e(0x75)](_0x3e09d4);}catch{throw CliErrors[_0x90fe6e(0x6e)](_0x90fe6e(0x77)+_0x3e09d4);}if(!_0x6a942d||typeof _0x6a942d!=='object'||Array[_0x90fe6e(0x74)](_0x6a942d))throw CliErrors['validation'](_0x90fe6e(0x73),_0x90fe6e(0x6a));return _0x6a942d;}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform-specific utilities for cross-platform CLI execution.
|
|
3
|
+
*
|
|
4
|
+
* On Windows, npm-installed CLIs (npm, npx, pnpm, yarn) are .cmd batch
|
|
5
|
+
* wrappers. Node's spawn/spawnSync without `shell: true` cannot locate them
|
|
6
|
+
* without the explicit .cmd extension. execa (via cross-spawn) handles this
|
|
7
|
+
* automatically, but for spawn/spawnSync callers use resolveNpmBin explicitly.
|
|
8
|
+
*
|
|
9
|
+
* NOTE: Native executables like bun.exe do NOT need this treatment.
|
|
10
|
+
* Only use resolveNpmBin for npm-ecosystem batch wrappers.
|
|
11
|
+
*/
|
|
12
|
+
export declare const isWindows: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Resolve the correct executable name for npm-ecosystem batch wrappers on Windows.
|
|
15
|
+
* Use this whenever calling spawn/spawnSync (without shell: true) with npm, npx, etc.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* resolveNpmBin("npx") // "npx" on macOS/Linux, "npx.cmd" on Windows
|
|
19
|
+
* resolveNpmBin("npm") // "npm" on macOS/Linux, "npm.cmd" on Windows
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveNpmBin(cmd: string): string;
|
package/lib/utils/platform.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a274_0x2b43dd=a274_0x471f;(function(_0x26f4d4,_0x318a45){const _0x5ea323=a274_0x471f,_0x14a786=_0x26f4d4();while(!![]){try{const _0x470942=-parseInt(_0x5ea323(0x172))/0x1*(parseInt(_0x5ea323(0x16d))/0x2)+-parseInt(_0x5ea323(0x175))/0x3*(-parseInt(_0x5ea323(0x177))/0x4)+-parseInt(_0x5ea323(0x171))/0x5*(-parseInt(_0x5ea323(0x176))/0x6)+-parseInt(_0x5ea323(0x16b))/0x7+-parseInt(_0x5ea323(0x169))/0x8*(-parseInt(_0x5ea323(0x174))/0x9)+parseInt(_0x5ea323(0x16e))/0xa+-parseInt(_0x5ea323(0x170))/0xb*(-parseInt(_0x5ea323(0x16f))/0xc);if(_0x470942===_0x318a45)break;else _0x14a786['push'](_0x14a786['shift']());}catch(_0x3e1d8f){_0x14a786['push'](_0x14a786['shift']());}}}(a274_0x2104,0xd9c1b));export const isWindows=process[a274_0x2b43dd(0x173)]===a274_0x2b43dd(0x16a);function a274_0x2104(){const _0x4fd14d=['win32','10399396DeqBnt','.cmd','2cKbtOn','16170540wDLtMj','5811024mvLlEo','22HYMosV','60PNyQlM','1213678jVFxtv','platform','9KZXgFi','1611717pqlExo','139758HZKAEs','4PtjZHE','1511392LiGyOM'];a274_0x2104=function(){return _0x4fd14d;};return a274_0x2104();}function a274_0x471f(_0xc15166,_0x553a25){_0xc15166=_0xc15166-0x169;const _0x21048a=a274_0x2104();let _0x471f06=_0x21048a[_0xc15166];return _0x471f06;}export function resolveNpmBin(_0x3111a0){const _0x215894=a274_0x2b43dd;return isWindows?_0x3111a0+_0x215894(0x16c):_0x3111a0;}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rules CDN 工具
|
|
3
|
+
*
|
|
4
|
+
* 从 CDN 拉取 rules 数据,并写入到用户项目
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Rules 数据结构
|
|
8
|
+
*/
|
|
9
|
+
export interface RulesData {
|
|
10
|
+
version: string;
|
|
11
|
+
buildTime: string;
|
|
12
|
+
content: string;
|
|
13
|
+
lastUpdated?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 从 CDN 拉取 rules 数据
|
|
17
|
+
*/
|
|
18
|
+
export declare function fetchRulesFromCDN(): Promise<RulesData>;
|
|
19
|
+
/**
|
|
20
|
+
* 获取 rules 内容(优先 CDN,降级本地)
|
|
21
|
+
*/
|
|
22
|
+
export declare function getRulesContent(): Promise<string>;
|
|
23
|
+
/**
|
|
24
|
+
* 读取本地模板文件
|
|
25
|
+
*/
|
|
26
|
+
export declare function readLocalTemplate(): string;
|
|
27
|
+
/**
|
|
28
|
+
* 写入 rules 文件到目标路径
|
|
29
|
+
*/
|
|
30
|
+
export declare function writeRulesFile(destPath: string): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* 复制 rules 到 Cursor rules 目录
|
|
33
|
+
*/
|
|
34
|
+
export declare function copyRulesToCursor(projectRoot: string): Promise<boolean>;
|
|
35
|
+
/**
|
|
36
|
+
* 复制 rules 到 agents.md(用于 Claude Code)
|
|
37
|
+
*/
|
|
38
|
+
export declare function copyRulesToAgentsMd(projectRoot: string): Promise<boolean>;
|