@lovrabet/rabetbase-cli 2.5.2-beta.4 → 2.5.2-beta.6
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.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- 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.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.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.js +1 -1
- 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-restore.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/dataset/user-deleted-field-list.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/table-diff-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/deployment/index.js +1 -1
- package/lib/commands/deployment/sync-all.js +1 -1
- package/lib/commands/deployment/sync-jobs.js +1 -1
- package/lib/commands/deployment/sync-status.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/instant-api-policy/current.js +1 -1
- package/lib/commands/instant-api-policy/index.js +1 -1
- package/lib/commands/instant-api-policy/init.js +1 -1
- package/lib/commands/instant-api-policy/publish.js +1 -1
- package/lib/commands/instant-api-policy/pull.js +1 -1
- package/lib/commands/instant-api-policy/revision.js +1 -1
- package/lib/commands/instant-api-policy/revisions.js +1 -1
- package/lib/commands/instant-api-policy/rollback.js +1 -1
- package/lib/commands/instant-api-policy/shared.js +1 -1
- package/lib/commands/instant-api-policy/validate.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/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.js +1 -1
- 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.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/domain-routing-sync.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- 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.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/rule/get.js +1 -1
- package/lib/commands/rule/index.js +1 -1
- package/lib/commands/rule/list.js +1 -1
- package/lib/commands/rule/set.js +1 -1
- package/lib/commands/rule/shared.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.js +1 -1
- package/lib/config/project-domain-routing.js +1 -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.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.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +0 -17
- 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/instant-api-policy/config.js +1 -1
- package/lib/core/kb-search-client.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.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.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/supported-flags.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/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.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/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.d.ts +6 -5
- 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 -1
- package/skills/rabetbase/SKILL.md +5 -6
- package/skills/rabetbase/references/rabetbase-deployment-sync-all.md +56 -0
- package/skills/rabetbase.manifest.json +4 -4
- package/lib/commands/deployment/auto-sync.d.ts +0 -20
- package/lib/commands/deployment/auto-sync.js +0 -1
- package/lib/commands/deployment/sync.d.ts +0 -2
- package/lib/commands/deployment/sync.js +0 -1
- package/skills/rabetbase/references/rabetbase-deployment-sync.md +0 -100
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x464c51,_0x2d3fd7){const _0x9c7b6e=a176_0x59a0,_0x5a5466=_0x464c51();while(!![]){try{const _0x201876=parseInt(_0x9c7b6e(0x185))/0x1+parseInt(_0x9c7b6e(0x191))/0x2*(parseInt(_0x9c7b6e(0x19d))/0x3)+parseInt(_0x9c7b6e(0x198))/0x4+parseInt(_0x9c7b6e(0x18b))/0x5*(parseInt(_0x9c7b6e(0x199))/0x6)+parseInt(_0x9c7b6e(0x195))/0x7+-parseInt(_0x9c7b6e(0x193))/0x8*(parseInt(_0x9c7b6e(0x19c))/0x9)+-parseInt(_0x9c7b6e(0x19f))/0xa*(parseInt(_0x9c7b6e(0x188))/0xb);if(_0x201876===_0x2d3fd7)break;else _0x5a5466['push'](_0x5a5466['shift']());}catch(_0x3c7aa9){_0x5a5466['push'](_0x5a5466['shift']());}}}(a176_0x2c98,0x45b33));import{existsSync}from'node:fs';import a176_0x37b600 from'node:path';import a176_0x29d993 from'chalk';import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';import{authServer}from'../../../auth/auth-server.js';import{readConfig}from'../../../utils/config.js';function a176_0x59a0(_0x4c1a1a,_0xdbf662){_0x4c1a1a=_0x4c1a1a-0x185;const _0x2c985e=a176_0x2c98();let _0x59a04a=_0x2c985e[_0x4c1a1a];return _0x59a04a;}import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getProjectNameValidationError}from'../../../commands/project/create/project-name.js';export async function guidedCreateProject(_0x437280,_0x49bd38,_0xb5d3bf){const _0x292df6=a176_0x59a0,_0x4c5a79=_0x292df6(0x189),_0x54bb72=readConfig(),_0x3b9db2=typeof _0x54bb72[_0x292df6(0x19b)]===_0x292df6(0x186)?_0x54bb72[_0x292df6(0x19b)]:undefined,_0xd83660=await input({'message':_0x292df6(0x18e),'default':_0x4c5a79,'validate':_0xe28b47=>{const _0x27b72b=_0x292df6,_0x2cfe5f=_0xe28b47['trim']()||_0x4c5a79,_0x3eb957=getProjectNameValidationError(_0x2cfe5f);if(_0x3eb957)return _0x3eb957;const _0x2940a1=a176_0x37b600[_0x27b72b(0x19a)](process[_0x27b72b(0x196)](),_0x2cfe5f);if(existsSync(_0x2940a1))return _0x27b72b(0x194)+_0x2cfe5f+_0x27b72b(0x18d);return!![];}});console[_0x292df6(0x190)](a176_0x29d993[_0x292df6(0x18a)](_0x292df6(0x187)+a176_0x29d993['cyan'](_0xd83660)));const _0x58aab6=await selectSingleAppcode(_0xb5d3bf);console[_0x292df6(0x190)](a176_0x29d993[_0x292df6(0x18a)]('√\x20App\x20Code:\x20'+a176_0x29d993[_0x292df6(0x192)](_0x58aab6||'Not\x20set')));if(_0x58aab6){const _0x151328=await getIsSessionValid();if(!_0x151328){const _0x3f994b=await confirm({'message':'No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','default':!![]});if(_0x3f994b){const _0x11ea0d=await authServer({'silent':!![]});console[_0x292df6(0x190)](a176_0x29d993[_0x292df6(0x18a)](_0x292df6(0x18f)+a176_0x29d993[_0x292df6(0x192)](_0x11ea0d?_0x292df6(0x197):_0x292df6(0x19e))));}else console[_0x292df6(0x190)](a176_0x29d993[_0x292df6(0x18a)](_0x292df6(0x18f)+a176_0x29d993[_0x292df6(0x192)]('Skipped')));}await _0x437280({'projectName':_0xd83660,'appCode':_0x58aab6,'env':_0x49bd38||_0x3b9db2||_0x292df6(0x18c)});}else await _0x437280({'projectName':_0xd83660,'env':_0x49bd38||_0x3b9db2||_0x292df6(0x18c)});}function a176_0x2c98(){const _0x24a05a=['2010yKrzth','Login\x20failed','13890550POxxVn','311028ZLJqig','string','√\x20Project\x20Name:\x20','11HUYRgM','my-app','green','15tiPvXy','production','\x22\x20already\x20exists','Project\x20name:','√\x20Login\x20status:\x20','log','962IDYuvD','cyan','24aVAhAi','Directory\x20\x22','3708985MYptqL','cwd','Logged\x20in','2193160IRFrvc','321540GbDoDi','resolve','env','593001zAdSDs'];a176_0x2c98=function(){return _0x24a05a;};return a176_0x2c98();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a177_0x5a9a(){const _0x35145f=['23103EpmlzI','4748898kIRuAx','24sDQrGf','312ykKgOT','468545bdoxnU','now','3973464BKkhsb','replace','8lzpkBr','toFixed','30oKZVcG','1842246nXKetD','35535TnQKsO','177558MQlHFN'];a177_0x5a9a=function(){return _0x35145f;};return a177_0x5a9a();}function a177_0x5a44(_0x497a01,_0x23ffec){_0x497a01=_0x497a01-0xc4;const _0x5a9a2f=a177_0x5a9a();let _0x5a4401=_0x5a9a2f[_0x497a01];return _0x5a4401;}(function(_0x3f6e45,_0x5beb9c){const _0x4dbf66=a177_0x5a44,_0xcef37b=_0x3f6e45();while(!![]){try{const _0x39ef68=parseInt(_0x4dbf66(0xcb))/0x1*(parseInt(_0x4dbf66(0xc6))/0x2)+-parseInt(_0x4dbf66(0xcc))/0x3*(parseInt(_0x4dbf66(0xcf))/0x4)+-parseInt(_0x4dbf66(0xca))/0x5+-parseInt(_0x4dbf66(0xce))/0x6*(parseInt(_0x4dbf66(0xd0))/0x7)+-parseInt(_0x4dbf66(0xc4))/0x8+-parseInt(_0x4dbf66(0xc9))/0x9*(-parseInt(_0x4dbf66(0xc8))/0xa)+parseInt(_0x4dbf66(0xcd))/0xb;if(_0x39ef68===_0x5beb9c)break;else _0xcef37b['push'](_0xcef37b['shift']());}catch(_0x1e41ea){_0xcef37b['push'](_0xcef37b['shift']());}}}(a177_0x5a9a,0x5db50));export function formatElapsed(_0x19d8ac){const _0x5d9c9a=a177_0x5a44,_0xe86256=Date[_0x5d9c9a(0xd1)]()-_0x19d8ac;if(_0xe86256<0x3e8)return _0xe86256+'ms';const _0x807608=(_0xe86256/0x3e8)[_0x5d9c9a(0xc7)](0x2),_0x13269a=_0x807608[_0x5d9c9a(0xc5)](/\.?0+$/u,'');return _0x13269a+'s';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x49ff86,_0x39ea2d){const _0x5184df=a180_0x1274,_0x28709f=_0x49ff86();while(!![]){try{const _0x590cf7=parseInt(_0x5184df(0xfe))/0x1*(-parseInt(_0x5184df(0x114))/0x2)+-parseInt(_0x5184df(0xfc))/0x3+parseInt(_0x5184df(0xd9))/0x4*(-parseInt(_0x5184df(0x119))/0x5)+parseInt(_0x5184df(0x100))/0x6*(-parseInt(_0x5184df(0x121))/0x7)+parseInt(_0x5184df(0x135))/0x8+parseInt(_0x5184df(0x126))/0x9+parseInt(_0x5184df(0x133))/0xa;if(_0x590cf7===_0x39ea2d)break;else _0x28709f['push'](_0x28709f['shift']());}catch(_0x4fa8ec){_0x28709f['push'](_0x28709f['shift']());}}}(a180_0xda03,0x3cc84));import a180_0x2f8960 from'path';import a180_0x2474d0 from'fs';import a180_0x9631a9 from'chalk';import a180_0x5d5bb2 from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';function a180_0x1274(_0x5d919d,_0x26ca37){_0x5d919d=_0x5d919d-0xd5;const _0xda0352=a180_0xda03();let _0x127499=_0xda0352[_0x5d919d];return _0x127499;}import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{loadRawConfigLayers,writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';import{validateProjectName}from'../../../commands/project/create/project-name.js';import{getSdkClientRoutingConfig}from'../../../constant/domain.js';function a180_0xda03(){const _0xcb1b9b=['The\x20current\x20directory\x20changed\x20during\x20project\x20creation.','copying','\x20already\x20exists','repeat','1218348eitNaN','project','12fvQIxk','start','390vfbVZg','dev','1.0.0','mkdtempSync','setLogPath','basename','Starting\x20project\x20creation:\x20','Resolving\x20project\x20template','error','minimumVersion','*\x20Configuring\x20AppCode\x20for\x20project\x20','Remove\x20or\x20move\x20the\x20existing\x20files,\x20then\x20retry\x20with\x20--current-dir.','Updating\x20package.json\x20name','Unable\x20to\x20verify\x20ownership\x20of\x20the\x20created\x20project\x20directory','\x20model(s)','\x20config\x20set\x20appcode\x20<app-code>\x27','bold','env','needsUpgrade','Project\x20directory\x20','58662McAeuZ','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','gray','extracting','text','20045DktQRP','\x20\x201.\x20Start\x20project:\x20','version','verifying','constants','projectName','cookie','cwd','33362JctrIr','\x20|\x20AppCode:\x20','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','nonInteractive','stringify','1921248ywFwBz','√\x20Configuration\x20file\x20created,\x20Apps:\x20','Current\x20directory\x20identity\x20changed\x20during\x20project\x20creation','green','info','Format\x20code','dirname','The\x20current\x20directory\x20must\x20be\x20empty.','push','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20','isDirectory','lstatSync','currentDir','12342660eUDPNu','renameSync','1422376fSGKSl','Verifying\x20project\x20template','utf8','cyan','currentVersion','join','accessSync','W_OK','package.json','description','templateSource','resolve','Failed\x20to\x20clean\x20up\x20project\x20directory:\x20','\x20api\x20pull\x20--force\x20--yes','warn','Install\x20dependencies','success','belowMinimum','create','Failed\x20to\x20update\x20package.json','cd\x20','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','log','🚀\x20Next\x20Steps:','validation','apps','readdirSync','\x20|\x20Default:\x20implicit\x20(single\x20app)','appCode','API\x20configuration\x20pulled:\x20','308jlJJym','string','name','\x20\x202.\x20Pull\x20API\x20configuration:\x20','ino','parse','Project\x20created:\x20','...','Unable\x20to\x20prepare\x20the\x20current\x20directory\x20workspace','\x20run\x20start','Failed\x20to\x20configure\x20app\x20AppCode','readFileSync','message','√\x20Pulled\x20','writeFileSync','Remove\x20the\x20new\x20files\x20and\x20retry\x20from\x20an\x20empty\x20directory.','existsSync','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','reverse','*\x20Pulling\x20API\x20configuration...','\x20&&\x20','Copying\x20local\x20template\x20source','\x20√\x20','rmSync','length','toLocaleString','Project\x20creation\x20failed:\x20','resolving','chdir','stop','downloading'];a180_0xda03=function(){return _0xcb1b9b;};return a180_0xda03();}import{generateSdkConfigFile}from'../../../api/generate-sdk-config-file.js';import{writeProjectDomainRoutingManifest}from'../../../config/project-domain-routing.js';import{CliErrors}from'../../../errors.js';function readDirectoryIdentity(_0x6f906c){const _0x4468c3=a180_0x1274;try{const _0x151833=a180_0x2474d0[_0x4468c3(0x131)](_0x6f906c);if(!_0x151833[_0x4468c3(0x130)]())return null;return{'dev':_0x151833[_0x4468c3(0x101)],'ino':_0x151833['ino']};}catch{return null;}}function isSameDirectory(_0x28bc37,_0x195686){const _0x58cd93=a180_0x1274;return!!_0x28bc37&&!!_0x195686&&_0x28bc37['dev']===_0x195686['dev']&&_0x28bc37[_0x58cd93(0xdd)]===_0x195686[_0x58cd93(0xdd)];}function commitCurrentDirectoryProject(_0x27ea55,_0x1fdbee,_0x95b816){const _0x4e930a=a180_0x1274;if(!isSameDirectory(readDirectoryIdentity(_0x27ea55),_0x95b816))throw new Error(_0x4e930a(0x128));const _0x4d03a2=a180_0x2f8960[_0x4e930a(0x105)](_0x1fdbee),_0x21b841=a180_0x2474d0[_0x4e930a(0xd5)](_0x27ea55);if(_0x21b841[_0x4e930a(0xf1)]!==0x1||_0x21b841[0x0]!==_0x4d03a2)throw CliErrors[_0x4e930a(0x14d)](_0x4e930a(0xf8),_0x4e930a(0xe8));const _0x50fa11=a180_0x2f8960[_0x4e930a(0x13a)](_0x1fdbee,_0x4e930a(0xfd)),_0x329e8d=[];try{for(const _0x1b7134 of a180_0x2474d0[_0x4e930a(0xd5)](_0x50fa11)){a180_0x2474d0[_0x4e930a(0x134)](a180_0x2f8960[_0x4e930a(0x13a)](_0x50fa11,_0x1b7134),a180_0x2f8960[_0x4e930a(0x13a)](_0x27ea55,_0x1b7134)),_0x329e8d[_0x4e930a(0x12e)](_0x1b7134);}a180_0x2474d0['rmSync'](_0x1fdbee,{'recursive':!![],'force':!![]});}catch(_0x57873d){for(const _0x1ae320 of _0x329e8d[_0x4e930a(0xeb)]()){const _0x56ef51=a180_0x2f8960['join'](_0x27ea55,_0x1ae320);if(!a180_0x2474d0[_0x4e930a(0xe9)](_0x56ef51))continue;a180_0x2474d0[_0x4e930a(0x134)](_0x56ef51,a180_0x2f8960[_0x4e930a(0x13a)](_0x50fa11,_0x1ae320));}throw _0x57873d;}}export async function createApp(_0x44011f){const _0x4ce271=a180_0x1274,_0x442861=await checkCliVersion();(_0x442861[_0x4ce271(0x112)]||_0x442861[_0x4ce271(0x146)])&&(printCliUpgradeWarning(_0x442861),assertCliVersionSupported(_0x442861),logger['info'](_0x4ce271(0x147),'CLI\x20version\x20check',{'currentVersion':_0x442861[_0x4ce271(0x139)],'stableVersion':_0x442861['stableVersion'],'minimumVersion':_0x442861[_0x4ce271(0x109)],'needsUpgrade':_0x442861[_0x4ce271(0x112)],'belowMinimum':_0x442861[_0x4ce271(0x146)]}));const _0x496371=_0x44011f[_0x4ce271(0x132)]?a180_0x2f8960[_0x4ce271(0x105)](process[_0x4ce271(0x120)]()):_0x44011f['projectCode'];if(_0x496371&&(_0x44011f[_0x4ce271(0xd7)]||_0x44011f[_0x4ce271(0x124)]))await runCreate({'projectName':_0x496371,'appCode':_0x44011f[_0x4ce271(0xd7)],'env':_0x44011f['env']},_0x44011f);else{if(_0x496371){const _0x1bb333=await selectSingleAppcode(_0x44011f[_0x4ce271(0x11f)]);await runCreate({'projectName':_0x496371,'appCode':_0x1bb333||undefined,'env':_0x44011f[_0x4ce271(0x111)]},_0x44011f);}else await guidedCreateProject(_0x4b427c=>runCreate(_0x4b427c,_0x44011f),_0x44011f[_0x4ce271(0x111)],_0x44011f[_0x4ce271(0x11f)]);}}async function runCreate(_0x3fcce7,_0x3d499d){const _0x45d859=a180_0x1274;_0x3fcce7[_0x45d859(0x11e)]=validateProjectName(_0x3fcce7[_0x45d859(0x11e)]);const _0x57daaa=_0x3d499d[_0x45d859(0x132)]?process[_0x45d859(0x120)]():a180_0x2f8960[_0x45d859(0x140)](process[_0x45d859(0x120)](),_0x3fcce7[_0x45d859(0x11e)]);if(_0x3d499d[_0x45d859(0x132)]){if(a180_0x2474d0[_0x45d859(0xd5)](_0x57daaa)[_0x45d859(0xf1)]>0x0)throw CliErrors[_0x45d859(0x14d)](_0x45d859(0x12d),_0x45d859(0x10b));}else{if(a180_0x2474d0[_0x45d859(0xe9)](_0x57daaa))throw new Error(_0x45d859(0x113)+_0x3fcce7[_0x45d859(0x11e)]+_0x45d859(0xfa));}let _0x46e1bd=null;const _0x31818a=_0x3d499d[_0x45d859(0x132)]?readDirectoryIdentity(_0x57daaa):null;let _0x509171=null;try{a180_0x2474d0[_0x45d859(0x13b)](a180_0x2f8960[_0x45d859(0x12c)](_0x57daaa),a180_0x2474d0[_0x45d859(0x11d)][_0x45d859(0x13c)]);}catch{throw new Error(_0x45d859(0xea));}logger[_0x45d859(0x12a)](_0x45d859(0x147),_0x45d859(0x106)+_0x3fcce7['projectName'],{'projectDir':_0x57daaa,'appCode':_0x3fcce7[_0x45d859(0xd7)]}),console[_0x45d859(0x14b)](),console[_0x45d859(0x14b)](a180_0x9631a9[_0x45d859(0x129)](_0x45d859(0xef))+'Project\x20name:\x20'+a180_0x9631a9[_0x45d859(0x129)](_0x3fcce7['projectName'])+(_0x3fcce7['appCode']?_0x45d859(0x122)+a180_0x9631a9[_0x45d859(0x138)](_0x3fcce7['appCode']):''));try{let _0x7e9704=_0x3fcce7['projectName'];_0x3d499d[_0x45d859(0x132)]&&(_0x509171=a180_0x2474d0[_0x45d859(0x103)](a180_0x2f8960[_0x45d859(0x13a)](_0x57daaa,'.rabetbase-create-')),_0x7e9704=a180_0x2f8960['relative'](process[_0x45d859(0x120)](),a180_0x2f8960[_0x45d859(0x13a)](_0x509171,_0x45d859(0xfd))));const _0x417575=a180_0x2f8960['resolve'](process['cwd'](),_0x7e9704);await runTask(_0x45d859(0x107),_0x6c1835=>copyProjectTemplate(_0x7e9704,_0x5b4d3c=>_0x6c1835(projectTemplateStageLabel(_0x5b4d3c)),_0x3d499d[_0x45d859(0x13f)]),'Project\x20template\x20ready'),_0x46e1bd=_0x3d499d[_0x45d859(0x132)]?null:readDirectoryIdentity(_0x57daaa);if(!_0x3d499d['currentDir']&&!_0x46e1bd)throw new Error(_0x45d859(0x10d));await updatePackageJsonName(_0x7e9704,_0x3fcce7['projectName']),await runTask(_0x45d859(0x144),()=>installDependencies(_0x7e9704)),await runTask(_0x45d859(0x12b),()=>formatProjectCode(_0x7e9704)),await configureAppCode(_0x7e9704,_0x3fcce7[_0x45d859(0x11e)],_0x3fcce7[_0x45d859(0xd7)]||'',_0x3fcce7[_0x45d859(0x111)]);let _0x4695e4=![];if(_0x3fcce7['appCode']){console[_0x45d859(0x14b)](_0x45d859(0xec));const _0x51635f=process['cwd']();try{process[_0x45d859(0xf5)](_0x417575);const _0x597832=_0x3fcce7[_0x45d859(0x111)]||'production';initEnv(_0x597832);const {configArray:_0x4a6db7}=await fetchModelList(_0x3fcce7[_0x45d859(0xd7)],_0x3d499d[_0x45d859(0x11f)]||''),_0x228275=DEFAULT_API_DIR,_0x25fabf=await generateApiFile(_0x4a6db7,'',_0x3fcce7[_0x45d859(0xd7)],!![],_0x597832,_0x228275,undefined,getSdkClientRoutingConfig(),{'overwriteTypescript':!![]});console[_0x45d859(0x14b)](_0x45d859(0xe6)+_0x4a6db7[_0x45d859(0xf1)]+'\x20dataset(s),\x20generated\x20'+_0x25fabf['modelCount']+_0x45d859(0x10e)),logger[_0x45d859(0x12a)](_0x45d859(0x147),_0x45d859(0xd8)+_0x3fcce7[_0x45d859(0xd7)]);}catch(_0x437246){_0x4695e4=!![],console[_0x45d859(0x14b)](_0x45d859(0x12f)+CLI_BIN_NAME+_0x45d859(0x142)),logger[_0x45d859(0x143)]('create','API\x20configuration\x20pull\x20failed',{'error':_0x437246 instanceof Error?_0x437246[_0x45d859(0xe5)]:String(_0x437246)});}finally{process[_0x45d859(0xf5)](_0x51635f);}}if(_0x3d499d[_0x45d859(0x132)]){if(!_0x509171||!_0x31818a)throw new Error(_0x45d859(0xe1));commitCurrentDirectoryProject(_0x57daaa,_0x509171,_0x31818a),_0x509171=null;}try{logger[_0x45d859(0x104)](_0x57daaa),logger[_0x45d859(0x145)](_0x45d859(0x147),_0x45d859(0xdf)+_0x3fcce7[_0x45d859(0x11e)]);}catch(_0xad0b72){console[_0x45d859(0x143)]('!\x20Project\x20created,\x20but\x20local\x20logging\x20could\x20not\x20be\x20initialized:\x20'+(_0xad0b72 instanceof Error?_0xad0b72[_0x45d859(0xe5)]:String(_0xad0b72)));}console[_0x45d859(0x14b)](),console[_0x45d859(0x14b)](a180_0x9631a9[_0x45d859(0x129)]('─'[_0x45d859(0xfb)](0x3c))),console[_0x45d859(0x14b)](a180_0x9631a9[_0x45d859(0x138)][_0x45d859(0x110)](_0x45d859(0x14c))),console['log']();const _0x207b28=_0x3d499d[_0x45d859(0x132)]?CLI_BIN_NAME+_0x45d859(0xe2):_0x45d859(0x149)+_0x3fcce7[_0x45d859(0x11e)]+_0x45d859(0xed)+CLI_BIN_NAME+_0x45d859(0xe2);console[_0x45d859(0x14b)](_0x45d859(0x11a)+a180_0x9631a9[_0x45d859(0x138)][_0x45d859(0x110)](_0x207b28)),_0x4695e4&&console[_0x45d859(0x14b)](_0x45d859(0xdc)+a180_0x9631a9[_0x45d859(0x138)][_0x45d859(0x110)](CLI_BIN_NAME+_0x45d859(0x142))),console[_0x45d859(0x14b)](a180_0x9631a9[_0x45d859(0x129)]('─'[_0x45d859(0xfb)](0x3c)));}catch(_0x36a931){logger[_0x45d859(0x108)](_0x45d859(0x147),_0x45d859(0xf3)+_0x3fcce7['projectName'],{'error':_0x36a931 instanceof Error?_0x36a931['message']:String(_0x36a931)});try{const _0x2f0159=readDirectoryIdentity(_0x57daaa);if(_0x3d499d[_0x45d859(0x132)]&&_0x509171)a180_0x2474d0[_0x45d859(0xf0)](_0x509171,{'recursive':!![],'force':!![]});else{if(_0x46e1bd&&_0x2f0159?.[_0x45d859(0x101)]===_0x46e1bd[_0x45d859(0x101)]&&_0x2f0159['ino']===_0x46e1bd[_0x45d859(0xdd)])console[_0x45d859(0x14b)](_0x45d859(0x123)+_0x57daaa),a180_0x2474d0[_0x45d859(0xf0)](_0x57daaa,{'recursive':!![],'force':!![]});else _0x2f0159&&logger[_0x45d859(0x143)](_0x45d859(0x147),'Skip\x20cleanup:\x20project\x20directory\x20ownership\x20changed:\x20'+_0x57daaa);}}catch{logger[_0x45d859(0x143)](_0x45d859(0x147),_0x45d859(0x141)+_0x57daaa);}throw _0x36a931;}}async function runTask(_0x2129b7,_0x3416bf,_0x12ab2d=_0x2129b7){const _0x37e831=a180_0x1274,_0x3ff461=a180_0x5d5bb2(_0x2129b7+_0x37e831(0xe0))[_0x37e831(0xff)]();try{const _0x501b45=await _0x3416bf(_0x216f21=>{const _0x4b6a85=_0x37e831;_0x3ff461[_0x4b6a85(0x118)]=_0x216f21+_0x4b6a85(0xe0);});_0x3ff461[_0x37e831(0xf6)](),console[_0x37e831(0x14b)](''+a180_0x9631a9[_0x37e831(0x129)]('\x20√\x20')+_0x12ab2d+'\x20'+a180_0x9631a9[_0x37e831(0x116)]('['+_0x501b45+']'));}catch(_0x5722df){_0x3ff461['fail'](_0x2129b7);throw _0x5722df;}}function projectTemplateStageLabel(_0x15a60c){const _0x52c138=a180_0x1274;switch(_0x15a60c){case _0x52c138(0xf4):return _0x52c138(0x107);case _0x52c138(0xf7):return'Downloading\x20project\x20template';case _0x52c138(0x11c):return _0x52c138(0x136);case _0x52c138(0x117):return'Extracting\x20project\x20template';case _0x52c138(0xf9):return _0x52c138(0xee);}}async function updatePackageJsonName(_0x3236cf,_0x274097){const _0x4a79e3=a180_0x1274,_0x35632e=a180_0x2f8960['resolve'](process[_0x4a79e3(0x120)](),_0x3236cf),_0x2f27ff=a180_0x2f8960[_0x4a79e3(0x13a)](_0x35632e,_0x4a79e3(0x13d));try{console[_0x4a79e3(0x14b)](_0x4a79e3(0x115));const _0x1418b6=getRabetbaseCliPackageRoot(),_0x3754ec=a180_0x2f8960[_0x4a79e3(0x13a)](_0x1418b6,_0x4a79e3(0x13d));let _0x135d49=_0x4a79e3(0x102);try{const _0x3cce03=JSON[_0x4a79e3(0xde)](a180_0x2474d0[_0x4a79e3(0xe4)](_0x3754ec,'utf8'));_0x135d49=_0x3cce03[_0x4a79e3(0x11b)]||_0x4a79e3(0x102);}catch{}const _0x4a557b=a180_0x2474d0[_0x4a79e3(0xe4)](_0x2f27ff,'utf8'),_0x4c3693=JSON[_0x4a79e3(0xde)](_0x4a557b);_0x4c3693[_0x4a79e3(0xdb)]=_0x274097,_0x4c3693[_0x4a79e3(0x13e)]=_0x274097+'\x20Generated\x20by\x20rabetbase\x20cli\x20'+_0x135d49,a180_0x2474d0[_0x4a79e3(0xe7)](_0x2f27ff,JSON[_0x4a79e3(0x125)](_0x4c3693,null,0x2)+'\x0a',_0x4a79e3(0x137)),console[_0x4a79e3(0x14b)]('√\x20package.json\x20updated:\x20name='+_0x274097),logger[_0x4a79e3(0x12a)](_0x4a79e3(0x147),_0x4a79e3(0x10c));}catch(_0x3c5eb4){logger[_0x4a79e3(0x108)]('create',_0x4a79e3(0x148));throw _0x3c5eb4;}}async function configureAppCode(_0x178639,_0x5ba7fc,_0x13a753,_0x14b1c0){const _0x534fa9=a180_0x1274,_0x1bee75=a180_0x2f8960[_0x534fa9(0x140)](process[_0x534fa9(0x120)](),_0x178639),_0x10a9f3=a180_0x2f8960[_0x534fa9(0x13a)](_0x1bee75,NEW_CONFIG_NAME);try{_0x13a753?console[_0x534fa9(0x14b)](_0x534fa9(0x10a)+_0x5ba7fc+':\x20'+_0x13a753):console[_0x534fa9(0x14b)](_0x534fa9(0x14a)+_0x5ba7fc);const _0x5ce497=getRabetbaseCliPackageRoot(),_0x2a444c=a180_0x2f8960[_0x534fa9(0x13a)](_0x5ce497,_0x534fa9(0x13d));let _0x3d7fb0=_0x534fa9(0x102);try{const _0x15c992=JSON[_0x534fa9(0xde)](a180_0x2474d0[_0x534fa9(0xe4)](_0x2a444c,_0x534fa9(0x137)));_0x3d7fb0=_0x15c992['version']||_0x534fa9(0x102);}catch{}const {globalConfig:_0x3b1400}=loadRawConfigLayers(),_0x19eab5=typeof _0x3b1400[_0x534fa9(0x111)]===_0x534fa9(0xda)?_0x3b1400['env']:undefined,_0x5c5302={};for(const _0x4654cd of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x3b1400[_0x4654cd]!=null)_0x5c5302[_0x4654cd]=_0x3b1400[_0x4654cd];}const _0x56b19e=buildCanonicalProjectConfig(_0x5c5302,{'appCodes':_0x13a753?[_0x13a753]:[],'env':_0x14b1c0||_0x19eab5||'production','metadata':{'createdAt':new Date()[_0x534fa9(0xf2)](),'version':_0x3d7fb0}});writeConfigFile(_0x10a9f3,_0x56b19e),await generateSdkConfigFile(a180_0x2f8960[_0x534fa9(0x13a)](_0x1bee75,DEFAULT_API_DIR),getSdkClientRoutingConfig()),writeProjectDomainRoutingManifest(_0x1bee75),_0x13a753?console[_0x534fa9(0x14b)](_0x534fa9(0x127)+Object['keys'](_0x56b19e[_0x534fa9(0x14e)]||{})[_0x534fa9(0x13a)](',\x20')+_0x534fa9(0xd6)):console[_0x534fa9(0x14b)]('√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27'+CLI_BIN_NAME+_0x534fa9(0x10f)),logger[_0x534fa9(0x12a)](_0x534fa9(0x147),'Configured\x20app\x20AppCode:\x20'+_0x13a753);}catch(_0x3ffce1){logger[_0x534fa9(0x108)](_0x534fa9(0x147),_0x534fa9(0xe3));throw _0x3ffce1;}}
|
|
1
|
+
(function(_0x24c9e9,_0x3f024a){const _0x3e781b=a178_0x569a,_0x5bef58=_0x24c9e9();while(!![]){try{const _0x179d24=parseInt(_0x3e781b(0xfc))/0x1*(-parseInt(_0x3e781b(0xe1))/0x2)+-parseInt(_0x3e781b(0xd1))/0x3*(-parseInt(_0x3e781b(0xac))/0x4)+-parseInt(_0x3e781b(0xf3))/0x5*(parseInt(_0x3e781b(0xc4))/0x6)+-parseInt(_0x3e781b(0xc3))/0x7*(-parseInt(_0x3e781b(0xa7))/0x8)+-parseInt(_0x3e781b(0xad))/0x9+parseInt(_0x3e781b(0xa6))/0xa*(-parseInt(_0x3e781b(0xcf))/0xb)+-parseInt(_0x3e781b(0xb3))/0xc*(-parseInt(_0x3e781b(0xa8))/0xd);if(_0x179d24===_0x3f024a)break;else _0x5bef58['push'](_0x5bef58['shift']());}catch(_0x28ec2d){_0x5bef58['push'](_0x5bef58['shift']());}}}(a178_0x3237,0xdc06e));function a178_0x3237(){const _0x21b0ac=['\x20|\x20AppCode:\x20','version','env','apps','Failed\x20to\x20configure\x20app\x20AppCode','Unable\x20to\x20prepare\x20the\x20current\x20directory\x20workspace','2836CsDCaf','dev','Project\x20directory\x20','utf8','\x20\x201.\x20Start\x20project:\x20','Verifying\x20project\x20template','mkdtempSync','\x20api\x20pull\x20--force\x20--yes','needsUpgrade','Resolving\x20project\x20template','\x20√\x20','package.json','\x20Generated\x20by\x20rabetbase\x20cli\x20','chdir','\x20config\x20set\x20appcode\x20<app-code>\x27','templateSource','cwd','info','50oEeVfW','projectCode','ino','Copying\x20local\x20template\x20source','bold','\x20already\x20exists','cyan','Downloading\x20project\x20template','rmSync','106AzigJx','\x20dataset(s),\x20generated\x20','Starting\x20project\x20creation:\x20','gray','currentVersion','log','Project\x20creation\x20failed:\x20','√\x20Pulled\x20','Format\x20code','Install\x20dependencies','readFileSync','green','√\x20Configuration\x20file\x20created,\x20Apps:\x20','Failed\x20to\x20update\x20package.json','setLogPath','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','Failed\x20to\x20clean\x20up\x20project\x20directory:\x20','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','resolve','belowMinimum','push','Remove\x20or\x20move\x20the\x20existing\x20files,\x20then\x20retry\x20with\x20--current-dir.','isDirectory','nonInteractive','reverse','Extracting\x20project\x20template','toLocaleString','appCode','\x20&&\x20','\x20|\x20Default:\x20implicit\x20(single\x20app)','message','accessSync','text','fail','renameSync','\x20run\x20start','10VdaEIe','14936jRPhVM','13OtCjIA','create','API\x20configuration\x20pull\x20failed','keys','4wwAsmx','7775613TQYkEP','The\x20current\x20directory\x20must\x20be\x20empty.','stringify','basename','modelCount','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','18071436kqmfcM','error','verifying','Remove\x20the\x20new\x20files\x20and\x20retry\x20from\x20an\x20empty\x20directory.','1.0.0','extracting','W_OK','repeat','CLI\x20version\x20check','*\x20Configuring\x20AppCode\x20for\x20project\x20','copying','validation','\x20\x202.\x20Pull\x20API\x20configuration:\x20','join','production','existsSync','5131IvcMtm','333942ZCcCqO','projectName','readdirSync','🚀\x20Next\x20Steps:','downloading','...','resolving','name','cookie','Skip\x20cleanup:\x20project\x20directory\x20ownership\x20changed:\x20','project','12666379EGyuGQ','length','2247270LtjPzj','parse','cd\x20','!\x20Project\x20created,\x20but\x20local\x20logging\x20could\x20not\x20be\x20initialized:\x20','*\x20Pulling\x20API\x20configuration...','stableVersion','currentDir','.rabetbase-create-','Unable\x20to\x20verify\x20ownership\x20of\x20the\x20created\x20project\x20directory','warn'];a178_0x3237=function(){return _0x21b0ac;};return a178_0x3237();}import a178_0x23bf7f from'path';import a178_0x46d95a from'fs';import a178_0x254f7a from'chalk';import a178_0x26607a from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';function a178_0x569a(_0x3e2a4d,_0x37bda4){_0x3e2a4d=_0x3e2a4d-0x87;const _0x323799=a178_0x3237();let _0x569a42=_0x323799[_0x3e2a4d];return _0x569a42;}import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{loadRawConfigLayers,writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';import{validateProjectName}from'../../../commands/project/create/project-name.js';import{getSdkClientRoutingConfig}from'../../../constant/domain.js';import{generateSdkConfigFile}from'../../../api/generate-sdk-config-file.js';import{writeProjectDomainRoutingManifest}from'../../../config/project-domain-routing.js';import{CliErrors}from'../../../errors.js';function readDirectoryIdentity(_0x52af3e){const _0x119d34=a178_0x569a;try{const _0x163d0b=a178_0x46d95a['lstatSync'](_0x52af3e);if(!_0x163d0b[_0x119d34(0x98)]())return null;return{'dev':_0x163d0b[_0x119d34(0xe2)],'ino':_0x163d0b['ino']};}catch{return null;}}function isSameDirectory(_0x5c5a20,_0x1cf26c){const _0x2f3a54=a178_0x569a;return!!_0x5c5a20&&!!_0x1cf26c&&_0x5c5a20['dev']===_0x1cf26c['dev']&&_0x5c5a20[_0x2f3a54(0xf5)]===_0x1cf26c[_0x2f3a54(0xf5)];}function commitCurrentDirectoryProject(_0x930181,_0x18f5f7,_0x568f15){const _0x4038fc=a178_0x569a;if(!isSameDirectory(readDirectoryIdentity(_0x930181),_0x568f15))throw new Error('Current\x20directory\x20identity\x20changed\x20during\x20project\x20creation');const _0x4410a8=a178_0x23bf7f[_0x4038fc(0xb0)](_0x18f5f7),_0x5f37c0=a178_0x46d95a[_0x4038fc(0xc6)](_0x930181);if(_0x5f37c0[_0x4038fc(0xd0)]!==0x1||_0x5f37c0[0x0]!==_0x4410a8)throw CliErrors[_0x4038fc(0xbe)]('The\x20current\x20directory\x20changed\x20during\x20project\x20creation.',_0x4038fc(0xb6));const _0x333abc=a178_0x23bf7f[_0x4038fc(0xc0)](_0x18f5f7,_0x4038fc(0xce)),_0x31def5=[];try{for(const _0x5138c3 of a178_0x46d95a[_0x4038fc(0xc6)](_0x333abc)){a178_0x46d95a[_0x4038fc(0xa4)](a178_0x23bf7f['join'](_0x333abc,_0x5138c3),a178_0x23bf7f[_0x4038fc(0xc0)](_0x930181,_0x5138c3)),_0x31def5[_0x4038fc(0x96)](_0x5138c3);}a178_0x46d95a[_0x4038fc(0xfb)](_0x18f5f7,{'recursive':!![],'force':!![]});}catch(_0x32fa57){for(const _0xe0e56 of _0x31def5[_0x4038fc(0x9a)]()){const _0xc47c7c=a178_0x23bf7f[_0x4038fc(0xc0)](_0x930181,_0xe0e56);if(!a178_0x46d95a['existsSync'](_0xc47c7c))continue;a178_0x46d95a[_0x4038fc(0xa4)](_0xc47c7c,a178_0x23bf7f[_0x4038fc(0xc0)](_0x333abc,_0xe0e56));}throw _0x32fa57;}}export async function createApp(_0x2a2f73){const _0x2a7b00=a178_0x569a,_0x36f522=await checkCliVersion();(_0x36f522[_0x2a7b00(0xe9)]||_0x36f522[_0x2a7b00(0x95)])&&(printCliUpgradeWarning(_0x36f522),assertCliVersionSupported(_0x36f522),logger[_0x2a7b00(0xf2)](_0x2a7b00(0xa9),_0x2a7b00(0xbb),{'currentVersion':_0x36f522[_0x2a7b00(0x100)],'stableVersion':_0x36f522[_0x2a7b00(0xd6)],'minimumVersion':_0x36f522['minimumVersion'],'needsUpgrade':_0x36f522['needsUpgrade'],'belowMinimum':_0x36f522[_0x2a7b00(0x95)]}));const _0xa1f82=_0x2a2f73[_0x2a7b00(0xd7)]?a178_0x23bf7f[_0x2a7b00(0xb0)](process[_0x2a7b00(0xf1)]()):_0x2a2f73[_0x2a7b00(0xf4)];if(_0xa1f82&&(_0x2a2f73['appCode']||_0x2a2f73[_0x2a7b00(0x99)]))await runCreate({'projectName':_0xa1f82,'appCode':_0x2a2f73['appCode'],'env':_0x2a2f73[_0x2a7b00(0xdd)]},_0x2a2f73);else{if(_0xa1f82){const _0x32459d=await selectSingleAppcode(_0x2a2f73[_0x2a7b00(0xcc)]);await runCreate({'projectName':_0xa1f82,'appCode':_0x32459d||undefined,'env':_0x2a2f73[_0x2a7b00(0xdd)]},_0x2a2f73);}else await guidedCreateProject(_0x55a861=>runCreate(_0x55a861,_0x2a2f73),_0x2a2f73[_0x2a7b00(0xdd)],_0x2a2f73[_0x2a7b00(0xcc)]);}}async function runCreate(_0x393889,_0x21f55e){const _0x39dcab=a178_0x569a;_0x393889[_0x39dcab(0xc5)]=validateProjectName(_0x393889[_0x39dcab(0xc5)]);const _0x2f384e=_0x21f55e['currentDir']?process[_0x39dcab(0xf1)]():a178_0x23bf7f[_0x39dcab(0x94)](process[_0x39dcab(0xf1)](),_0x393889[_0x39dcab(0xc5)]);if(_0x21f55e[_0x39dcab(0xd7)]){if(a178_0x46d95a[_0x39dcab(0xc6)](_0x2f384e)[_0x39dcab(0xd0)]>0x0)throw CliErrors[_0x39dcab(0xbe)](_0x39dcab(0xae),_0x39dcab(0x97));}else{if(a178_0x46d95a[_0x39dcab(0xc2)](_0x2f384e))throw new Error(_0x39dcab(0xe3)+_0x393889[_0x39dcab(0xc5)]+_0x39dcab(0xf8));}let _0x3ac4b7=null;const _0x2414b5=_0x21f55e['currentDir']?readDirectoryIdentity(_0x2f384e):null;let _0x9c0ed8=null;try{a178_0x46d95a[_0x39dcab(0xa1)](a178_0x23bf7f['dirname'](_0x2f384e),a178_0x46d95a['constants'][_0x39dcab(0xb9)]);}catch{throw new Error('Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions');}logger[_0x39dcab(0xf2)]('create',_0x39dcab(0xfe)+_0x393889[_0x39dcab(0xc5)],{'projectDir':_0x2f384e,'appCode':_0x393889['appCode']}),console['log'](),console[_0x39dcab(0x87)](a178_0x254f7a[_0x39dcab(0x8d)](_0x39dcab(0xeb))+'Project\x20name:\x20'+a178_0x254f7a['green'](_0x393889[_0x39dcab(0xc5)])+(_0x393889[_0x39dcab(0x9d)]?_0x39dcab(0xdb)+a178_0x254f7a[_0x39dcab(0xf9)](_0x393889[_0x39dcab(0x9d)]):''));try{let _0x29a705=_0x393889['projectName'];_0x21f55e['currentDir']&&(_0x9c0ed8=a178_0x46d95a[_0x39dcab(0xe7)](a178_0x23bf7f[_0x39dcab(0xc0)](_0x2f384e,_0x39dcab(0xd8))),_0x29a705=a178_0x23bf7f['relative'](process[_0x39dcab(0xf1)](),a178_0x23bf7f[_0x39dcab(0xc0)](_0x9c0ed8,'project')));const _0x4f96d3=a178_0x23bf7f[_0x39dcab(0x94)](process['cwd'](),_0x29a705);await runTask('Resolving\x20project\x20template',_0x1e4148=>copyProjectTemplate(_0x29a705,_0x39dd25=>_0x1e4148(projectTemplateStageLabel(_0x39dd25)),_0x21f55e[_0x39dcab(0xf0)]),'Project\x20template\x20ready'),_0x3ac4b7=_0x21f55e[_0x39dcab(0xd7)]?null:readDirectoryIdentity(_0x2f384e);if(!_0x21f55e[_0x39dcab(0xd7)]&&!_0x3ac4b7)throw new Error(_0x39dcab(0xd9));await updatePackageJsonName(_0x29a705,_0x393889[_0x39dcab(0xc5)]),await runTask(_0x39dcab(0x8b),()=>installDependencies(_0x29a705)),await runTask(_0x39dcab(0x8a),()=>formatProjectCode(_0x29a705)),await configureAppCode(_0x29a705,_0x393889[_0x39dcab(0xc5)],_0x393889['appCode']||'',_0x393889[_0x39dcab(0xdd)]);let _0x16c2f8=![];if(_0x393889[_0x39dcab(0x9d)]){console[_0x39dcab(0x87)](_0x39dcab(0xd5));const _0x461d78=process['cwd']();try{process[_0x39dcab(0xee)](_0x4f96d3);const _0x3c19cd=_0x393889[_0x39dcab(0xdd)]||_0x39dcab(0xc1);initEnv(_0x3c19cd);const {configArray:_0x16c2ad}=await fetchModelList(_0x393889[_0x39dcab(0x9d)],_0x21f55e['cookie']||''),_0x3b929c=DEFAULT_API_DIR,_0x4907a4=await generateApiFile(_0x16c2ad,'',_0x393889[_0x39dcab(0x9d)],!![],_0x3c19cd,_0x3b929c,undefined,getSdkClientRoutingConfig(),{'overwriteTypescript':!![]});console[_0x39dcab(0x87)](_0x39dcab(0x89)+_0x16c2ad[_0x39dcab(0xd0)]+_0x39dcab(0xfd)+_0x4907a4[_0x39dcab(0xb1)]+'\x20model(s)'),logger[_0x39dcab(0xf2)](_0x39dcab(0xa9),'API\x20configuration\x20pulled:\x20'+_0x393889[_0x39dcab(0x9d)]);}catch(_0x476023){_0x16c2f8=!![],console[_0x39dcab(0x87)]('!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20'+CLI_BIN_NAME+_0x39dcab(0xe8)),logger[_0x39dcab(0xda)]('create',_0x39dcab(0xaa),{'error':_0x476023 instanceof Error?_0x476023['message']:String(_0x476023)});}finally{process[_0x39dcab(0xee)](_0x461d78);}}if(_0x21f55e[_0x39dcab(0xd7)]){if(!_0x9c0ed8||!_0x2414b5)throw new Error(_0x39dcab(0xe0));commitCurrentDirectoryProject(_0x2f384e,_0x9c0ed8,_0x2414b5),_0x9c0ed8=null;}try{logger[_0x39dcab(0x90)](_0x2f384e),logger['success']('create','Project\x20created:\x20'+_0x393889[_0x39dcab(0xc5)]);}catch(_0x6bc5e1){console[_0x39dcab(0xda)](_0x39dcab(0xd4)+(_0x6bc5e1 instanceof Error?_0x6bc5e1[_0x39dcab(0xa0)]:String(_0x6bc5e1)));}console[_0x39dcab(0x87)](),console['log'](a178_0x254f7a[_0x39dcab(0x8d)]('─'[_0x39dcab(0xba)](0x3c))),console[_0x39dcab(0x87)](a178_0x254f7a[_0x39dcab(0xf9)]['bold'](_0x39dcab(0xc7))),console[_0x39dcab(0x87)]();const _0x4174fa=_0x21f55e[_0x39dcab(0xd7)]?CLI_BIN_NAME+_0x39dcab(0xa5):_0x39dcab(0xd3)+_0x393889[_0x39dcab(0xc5)]+_0x39dcab(0x9e)+CLI_BIN_NAME+_0x39dcab(0xa5);console[_0x39dcab(0x87)](_0x39dcab(0xe5)+a178_0x254f7a['cyan'][_0x39dcab(0xf7)](_0x4174fa)),_0x16c2f8&&console[_0x39dcab(0x87)](_0x39dcab(0xbf)+a178_0x254f7a['cyan'][_0x39dcab(0xf7)](CLI_BIN_NAME+_0x39dcab(0xe8))),console[_0x39dcab(0x87)](a178_0x254f7a[_0x39dcab(0x8d)]('─'[_0x39dcab(0xba)](0x3c)));}catch(_0x17328c){logger[_0x39dcab(0xb4)](_0x39dcab(0xa9),_0x39dcab(0x88)+_0x393889['projectName'],{'error':_0x17328c instanceof Error?_0x17328c[_0x39dcab(0xa0)]:String(_0x17328c)});try{const _0x147029=readDirectoryIdentity(_0x2f384e);if(_0x21f55e[_0x39dcab(0xd7)]&&_0x9c0ed8)a178_0x46d95a['rmSync'](_0x9c0ed8,{'recursive':!![],'force':!![]});else{if(_0x3ac4b7&&_0x147029?.[_0x39dcab(0xe2)]===_0x3ac4b7[_0x39dcab(0xe2)]&&_0x147029['ino']===_0x3ac4b7[_0x39dcab(0xf5)])console['log'](_0x39dcab(0xb2)+_0x2f384e),a178_0x46d95a[_0x39dcab(0xfb)](_0x2f384e,{'recursive':!![],'force':!![]});else _0x147029&&logger[_0x39dcab(0xda)](_0x39dcab(0xa9),_0x39dcab(0xcd)+_0x2f384e);}}catch{logger[_0x39dcab(0xda)](_0x39dcab(0xa9),_0x39dcab(0x92)+_0x2f384e);}throw _0x17328c;}}async function runTask(_0x3a3d2b,_0x20c955,_0x3c7590=_0x3a3d2b){const _0x260eb4=a178_0x569a,_0x43225a=a178_0x26607a(_0x3a3d2b+_0x260eb4(0xc9))['start']();try{const _0xe89260=await _0x20c955(_0x3b154d=>{const _0x261f9f=_0x260eb4;_0x43225a[_0x261f9f(0xa2)]=_0x3b154d+_0x261f9f(0xc9);});_0x43225a['stop'](),console[_0x260eb4(0x87)](''+a178_0x254f7a[_0x260eb4(0x8d)]('\x20√\x20')+_0x3c7590+'\x20'+a178_0x254f7a[_0x260eb4(0xff)]('['+_0xe89260+']'));}catch(_0x274219){_0x43225a[_0x260eb4(0xa3)](_0x3a3d2b);throw _0x274219;}}function projectTemplateStageLabel(_0x510b9b){const _0x51cab0=a178_0x569a;switch(_0x510b9b){case _0x51cab0(0xca):return _0x51cab0(0xea);case _0x51cab0(0xc8):return _0x51cab0(0xfa);case _0x51cab0(0xb5):return _0x51cab0(0xe6);case _0x51cab0(0xb8):return _0x51cab0(0x9b);case _0x51cab0(0xbd):return _0x51cab0(0xf6);}}async function updatePackageJsonName(_0x3a82ba,_0x27c104){const _0x3c9f56=a178_0x569a,_0xf4bd61=a178_0x23bf7f[_0x3c9f56(0x94)](process['cwd'](),_0x3a82ba),_0x32a414=a178_0x23bf7f['join'](_0xf4bd61,_0x3c9f56(0xec));try{console[_0x3c9f56(0x87)](_0x3c9f56(0x91));const _0x32f39c=getRabetbaseCliPackageRoot(),_0x4973b3=a178_0x23bf7f[_0x3c9f56(0xc0)](_0x32f39c,'package.json');let _0x393616=_0x3c9f56(0xb7);try{const _0x194688=JSON[_0x3c9f56(0xd2)](a178_0x46d95a[_0x3c9f56(0x8c)](_0x4973b3,_0x3c9f56(0xe4)));_0x393616=_0x194688[_0x3c9f56(0xdc)]||_0x3c9f56(0xb7);}catch{}const _0x1a1202=a178_0x46d95a[_0x3c9f56(0x8c)](_0x32a414,_0x3c9f56(0xe4)),_0xb0c317=JSON['parse'](_0x1a1202);_0xb0c317[_0x3c9f56(0xcb)]=_0x27c104,_0xb0c317['description']=_0x27c104+_0x3c9f56(0xed)+_0x393616,a178_0x46d95a['writeFileSync'](_0x32a414,JSON[_0x3c9f56(0xaf)](_0xb0c317,null,0x2)+'\x0a',_0x3c9f56(0xe4)),console['log']('√\x20package.json\x20updated:\x20name='+_0x27c104),logger[_0x3c9f56(0xf2)](_0x3c9f56(0xa9),'Updating\x20package.json\x20name');}catch(_0x1f20f3){logger[_0x3c9f56(0xb4)](_0x3c9f56(0xa9),_0x3c9f56(0x8f));throw _0x1f20f3;}}async function configureAppCode(_0x57fd8f,_0x354146,_0x253649,_0x196331){const _0x3d3a8f=a178_0x569a,_0x1538e4=a178_0x23bf7f['resolve'](process[_0x3d3a8f(0xf1)](),_0x57fd8f),_0x38d3db=a178_0x23bf7f[_0x3d3a8f(0xc0)](_0x1538e4,NEW_CONFIG_NAME);try{_0x253649?console[_0x3d3a8f(0x87)](_0x3d3a8f(0xbc)+_0x354146+':\x20'+_0x253649):console[_0x3d3a8f(0x87)](_0x3d3a8f(0x93)+_0x354146);const _0x5e6474=getRabetbaseCliPackageRoot(),_0x1c81d7=a178_0x23bf7f[_0x3d3a8f(0xc0)](_0x5e6474,_0x3d3a8f(0xec));let _0x2632f0='1.0.0';try{const _0x1906ab=JSON[_0x3d3a8f(0xd2)](a178_0x46d95a[_0x3d3a8f(0x8c)](_0x1c81d7,'utf8'));_0x2632f0=_0x1906ab[_0x3d3a8f(0xdc)]||_0x3d3a8f(0xb7);}catch{}const {globalConfig:_0x325682}=loadRawConfigLayers(),_0x2ac0ab=typeof _0x325682[_0x3d3a8f(0xdd)]==='string'?_0x325682['env']:undefined,_0x4c2463={};for(const _0x205eaa of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x325682[_0x205eaa]!=null)_0x4c2463[_0x205eaa]=_0x325682[_0x205eaa];}const _0x26a8ae=buildCanonicalProjectConfig(_0x4c2463,{'appCodes':_0x253649?[_0x253649]:[],'env':_0x196331||_0x2ac0ab||_0x3d3a8f(0xc1),'metadata':{'createdAt':new Date()[_0x3d3a8f(0x9c)](),'version':_0x2632f0}});writeConfigFile(_0x38d3db,_0x26a8ae),await generateSdkConfigFile(a178_0x23bf7f['join'](_0x1538e4,DEFAULT_API_DIR),getSdkClientRoutingConfig()),writeProjectDomainRoutingManifest(_0x1538e4),_0x253649?console[_0x3d3a8f(0x87)](_0x3d3a8f(0x8e)+Object[_0x3d3a8f(0xab)](_0x26a8ae[_0x3d3a8f(0xde)]||{})[_0x3d3a8f(0xc0)](',\x20')+_0x3d3a8f(0x9f)):console['log']('√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27'+CLI_BIN_NAME+_0x3d3a8f(0xef)),logger[_0x3d3a8f(0xf2)](_0x3d3a8f(0xa9),'Configured\x20app\x20AppCode:\x20'+_0x253649);}catch(_0x3c2df6){logger[_0x3d3a8f(0xb4)](_0x3d3a8f(0xa9),_0x3d3a8f(0xdf));throw _0x3c2df6;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a181_0x52f0bc=a181_0x4b68;(function(_0x480d22,_0x5e6cb4){const _0x3c3887=a181_0x4b68,_0x224696=_0x480d22();while(!![]){try{const _0xcc779c=-parseInt(_0x3c3887(0x110))/0x1+-parseInt(_0x3c3887(0xd6))/0x2*(parseInt(_0x3c3887(0xc3))/0x3)+-parseInt(_0x3c3887(0xf2))/0x4+parseInt(_0x3c3887(0xd2))/0x5+parseInt(_0x3c3887(0xe1))/0x6*(parseInt(_0x3c3887(0x128))/0x7)+parseInt(_0x3c3887(0x105))/0x8+-parseInt(_0x3c3887(0x12a))/0x9*(-parseInt(_0x3c3887(0x123))/0xa);if(_0xcc779c===_0x5e6cb4)break;else _0x224696['push'](_0x224696['shift']());}catch(_0x4bccf0){_0x224696['push'](_0x224696['shift']());}}}(a181_0x3b1b,0xeba35));import{createHash}from'node:crypto';import a181_0x477fc9 from'node:fs/promises';import a181_0x17ce37 from'node:path';import{PROJECT_TEMPLATE_ASSET_BASE_URL}from'../../../constant/cdn.js';function a181_0x4b68(_0x768f98,_0x4a77b1){_0x768f98=_0x768f98-0xc2;const _0x3b1bf1=a181_0x3b1b();let _0x4b684d=_0x3b1bf1[_0x768f98];return _0x4b684d;}import{extractProjectTemplateArchive}from'../../../commands/project/create/project-template-archive.js';import{getRabetbaseCdnConfig}from'../../../utils/cli-version-policy.js';import{CliErrors}from'../../../errors.js';const TEMPLATE_ID='sub-app-react-demo',ARCHIVE_TIMEOUT_MS=0x3a98,MAX_ARCHIVE_SIZE=0x14*0x400*0x400;function nonEmptyString(_0xd6dd6c){const _0x26f123=a181_0x4b68;return typeof _0xd6dd6c===_0x26f123(0xf5)&&_0xd6dd6c['trim']()?_0xd6dd6c[_0x26f123(0xde)]():null;}function parseDescriptor(_0x30cb42){const _0x267011=a181_0x4b68;if(!_0x30cb42||typeof _0x30cb42!==_0x267011(0xc6))throw new Error('CDN\x20config\x20does\x20not\x20define\x20template\x20\x22'+TEMPLATE_ID+'\x22.');const _0x1d259a=_0x30cb42,_0x228a73=nonEmptyString(_0x1d259a['version']),_0x4d15fc=nonEmptyString(_0x1d259a['name']),_0x2732f6=nonEmptyString(_0x1d259a[_0x267011(0x109)])?.[_0x267011(0xd8)](),_0x7b2e7c=_0x1d259a[_0x267011(0xc2)];if(!_0x228a73||!_0x4d15fc||_0x4d15fc!==a181_0x17ce37[_0x267011(0x120)]['basename'](_0x4d15fc)||_0x4d15fc[_0x267011(0x10a)]('\x5c')||!_0x2732f6||!/^sha256:[a-f0-9]{64}$/[_0x267011(0xe5)](_0x2732f6)||typeof _0x7b2e7c!=='number'||!Number[_0x267011(0x11f)](_0x7b2e7c)||_0x7b2e7c<=0x0||_0x7b2e7c>MAX_ARCHIVE_SIZE)throw new Error(_0x267011(0xfc)+TEMPLATE_ID+'\x22.');return{'version':_0x228a73,'name':_0x4d15fc,'sha256':_0x2732f6,'size':_0x7b2e7c};}async function fetchWithTimeout(_0x236f4f,_0x52a68f,_0x4547dc,_0x454996){const _0xe0d2a7=a181_0x4b68,_0x350e6a=new AbortController(),_0x10f062=setTimeout(()=>_0x350e6a[_0xe0d2a7(0x129)](),_0x52a68f);try{const _0x590f37=await fetch(_0x236f4f,{'headers':{'Accept':_0x4547dc},'signal':_0x350e6a['signal']});return await _0x454996(_0x590f37);}finally{clearTimeout(_0x10f062);}}async function fetchTemplateDescriptor(){const _0x3cd053=a181_0x4b68,_0x1f99d4=await getRabetbaseCdnConfig();if(!_0x1f99d4)throw new Error('Rabetbase\x20CDN\x20config\x20is\x20unavailable.');return parseDescriptor(_0x1f99d4[_0x3cd053(0x121)]);}function a181_0x3b1b(){const _0x4066a5=['parse','Local\x20project\x20template\x20contains\x20a\x20local-only\x20entry:\x20','resolve','isAbsolute','Unable\x20to\x20download\x20a\x20valid\x20project\x20template\x20from\x20CDN.','mkdtemp','Use\x20a\x20different\x20project\x20name.','getReader','code','cancel','content-length','1275305SvvVze','Local\x20template\x20source\x20is\x20not\x20a\x20directory:\x20','hex','version','2wQyXHo','.lovrabet.json','toLowerCase','node_modules','name','cdn','startsWith','.rabetbase','trim','pathname','ino','81408Kroigs','copyFile','releaseLock','isDirectory','test','rename','Unable\x20to\x20claim\x20the\x20project\x20directory.','https:','chmod','byteLength','Check\x20the\x20source\x20directory\x20and\x20retry.','validation','readFile','has','length','.rabetbase-create-','Choose\x20an\x20output\x20directory\x20outside\x20the\x20template\x20source.','6860816xQtIKz','Project\x20directory\x20already\x20exists:\x20','.codegraph','string','arrayBuffer','writeFile','verifying','status','Local\x20project\x20template\x20must\x20not\x20contain\x20symlinks:\x20','concat','CDN\x20config\x20contains\x20an\x20invalid\x20descriptor\x20for\x20\x22','utf8','Choose\x20a\x20different\x20project\x20name\x20or\x20remove\x20the\x20directory\x20first.','.env.example','body','Project\x20template\x20package.json\x20is\x20invalid.','join','isFinite',',\x20received\x20','13913768TjQVIq','dev','origin','resolving','sha256','includes','dirname','package.json','downloading','Local\x20template\x20source\x20and\x20project\x20output\x20must\x20not\x20overlap.','get','1900177GUNLlo','isSymbolicLink','update','.DS_Store','realpath','from','CDN\x20project\x20template\x20URL\x20must\x20use\x20the\x20trusted\x20HTTPS\x20origin.','ENOENT','application/zip','relative','Pass\x20a\x20directory\x20containing\x20the\x20template\x20source\x20package.json.','CDN\x20project\x20template\x20checksum\x20verification\x20failed.','CDN\x20project\x20template\x20request\x20failed\x20with\x20HTTP\x20','headers','basename','isSafeInteger','posix','projectTemplate','CDN\x20project\x20template\x20size\x20mismatch:\x20expected\x20','1122190UAUmjz','readdir','.env.','message','read','826oshbch','abort','117sYzPIx','dist','mkdir','project','CDN\x20project\x20template\x20exceeds\x20its\x20declared\x20download\x20size.','size','1420797vKmfIC','lstat','.idea','object'];a181_0x3b1b=function(){return _0x4066a5;};return a181_0x3b1b();}function resolveArchiveUrl(_0x43f35a){const _0x1e75d7=a181_0x4b68,_0x4d3fae=new URL(PROJECT_TEMPLATE_ASSET_BASE_URL+'/'),_0xa1f428=new URL(_0x43f35a,_0x4d3fae);if(_0xa1f428['protocol']!==_0x1e75d7(0xe8)||_0xa1f428[_0x1e75d7(0x107)]!==_0x4d3fae[_0x1e75d7(0x107)]||!_0xa1f428[_0x1e75d7(0xdf)][_0x1e75d7(0xdc)](_0x4d3fae[_0x1e75d7(0xdf)]))throw new Error(_0x1e75d7(0x116));return _0xa1f428['href'];}async function readResponseBytes(_0x2c9f2f,_0x15adae){const _0x275baf=a181_0x4b68;if(!_0x2c9f2f[_0x275baf(0x100)]){const _0x1352a4=Buffer[_0x275baf(0x115)](await _0x2c9f2f[_0x275baf(0xf6)]());if(_0x1352a4['length']>_0x15adae)throw new Error(_0x275baf(0x12e));return _0x1352a4;}const _0x188fa6=_0x2c9f2f[_0x275baf(0x100)][_0x275baf(0xce)](),_0x3b51df=[];let _0x283b3c=0x0;try{while(!![]){const {done:_0x5e5769,value:_0x7a6bb6}=await _0x188fa6[_0x275baf(0x127)]();if(_0x5e5769)break;_0x283b3c+=_0x7a6bb6[_0x275baf(0xea)];if(_0x283b3c>_0x15adae){await _0x188fa6[_0x275baf(0xd0)]();throw new Error(_0x275baf(0x12e));}_0x3b51df['push'](Buffer[_0x275baf(0x115)](_0x7a6bb6));}}finally{_0x188fa6[_0x275baf(0xe3)]();}return Buffer[_0x275baf(0xfb)](_0x3b51df,_0x283b3c);}async function downloadArchive(_0xc396f8,_0x316b80,_0xa981d){const _0x56abb4=a181_0x4b68,_0x47d1ae=await fetchWithTimeout(resolveArchiveUrl(_0xc396f8[_0x56abb4(0xda)]),ARCHIVE_TIMEOUT_MS,_0x56abb4(0x118),async _0x12a45f=>{const _0x267cf0=_0x56abb4;if(!_0x12a45f['ok'])throw new Error(_0x267cf0(0x11c)+_0x12a45f[_0x267cf0(0xf9)]+'.');const _0x5307c3=Number(_0x12a45f[_0x267cf0(0x11d)][_0x267cf0(0x10f)](_0x267cf0(0xd1)));if(Number[_0x267cf0(0x103)](_0x5307c3)&&_0x5307c3>MAX_ARCHIVE_SIZE)throw new Error('CDN\x20project\x20template\x20exceeds\x20the\x2020\x20MB\x20download\x20limit.');return readResponseBytes(_0x12a45f,_0xc396f8[_0x267cf0(0xc2)]);});if(_0x47d1ae[_0x56abb4(0xef)]!==_0xc396f8[_0x56abb4(0xc2)])throw new Error(_0x56abb4(0x122)+_0xc396f8[_0x56abb4(0xc2)]+_0x56abb4(0x104)+_0x47d1ae[_0x56abb4(0xef)]+'.');_0xa981d?.(_0x56abb4(0xf8));const _0x4b6709='sha256:'+createHash(_0x56abb4(0x109))[_0x56abb4(0x112)](_0x47d1ae)['digest'](_0x56abb4(0xd4));if(_0x4b6709!==_0xc396f8[_0x56abb4(0x109)])throw new Error(_0x56abb4(0x11b));await a181_0x477fc9[_0x56abb4(0xf7)](_0x316b80,_0x47d1ae,{'flag':'wx'});}async function assertTemplateRoot(_0x2393a1){const _0x278912=a181_0x4b68,_0x408ad8=a181_0x17ce37[_0x278912(0x102)](_0x2393a1,_0x278912(0x10c)),_0x1074d7=JSON[_0x278912(0xc7)](await a181_0x477fc9[_0x278912(0xed)](_0x408ad8,_0x278912(0xfd)));if(!_0x1074d7||typeof _0x1074d7!==_0x278912(0xc6))throw new Error(_0x278912(0x101));}const LOCAL_FORBIDDEN_NAMES=new Set([a181_0x52f0bc(0x113),a181_0x52f0bc(0xf4),'.git',a181_0x52f0bc(0xc5),a181_0x52f0bc(0xd7),'.lovrabet.log',a181_0x52f0bc(0xdd),'.rabetbase.json',a181_0x52f0bc(0x12b),a181_0x52f0bc(0xd9)]);function isForbiddenTemplateEntry(_0x34a52e){const _0x16cc1b=a181_0x52f0bc;if(LOCAL_FORBIDDEN_NAMES[_0x16cc1b(0xee)](_0x34a52e))return!![];return _0x34a52e==='.env'||_0x34a52e['startsWith'](_0x16cc1b(0x125))&&_0x34a52e!==_0x16cc1b(0xff);}function containsPath(_0x5f29f0,_0x360d55){const _0x45b14a=a181_0x52f0bc,_0x4c2a66=a181_0x17ce37[_0x45b14a(0x119)](_0x5f29f0,_0x360d55);return _0x4c2a66===''||!_0x4c2a66['startsWith']('..'+a181_0x17ce37['sep'])&&_0x4c2a66!=='..'&&!a181_0x17ce37[_0x45b14a(0xca)](_0x4c2a66);}async function copyLocalTemplateDirectory(_0x2588a3,_0x4abf63){const _0x46d3c9=a181_0x52f0bc;await a181_0x477fc9[_0x46d3c9(0x12c)](_0x4abf63,{'recursive':!![]});for(const _0x325661 of await a181_0x477fc9[_0x46d3c9(0x124)](_0x2588a3,{'withFileTypes':!![]})){const _0x4bff5a=a181_0x17ce37[_0x46d3c9(0x102)](_0x2588a3,_0x325661[_0x46d3c9(0xda)]),_0x4cdf2f=a181_0x17ce37['join'](_0x4abf63,_0x325661['name']);if(isForbiddenTemplateEntry(_0x325661[_0x46d3c9(0xda)]))throw new Error(_0x46d3c9(0xc8)+_0x4bff5a);const _0x54233d=await a181_0x477fc9[_0x46d3c9(0xc4)](_0x4bff5a);if(_0x54233d[_0x46d3c9(0x111)]())throw new Error(_0x46d3c9(0xfa)+_0x4bff5a);if(_0x54233d[_0x46d3c9(0xe4)]()){await copyLocalTemplateDirectory(_0x4bff5a,_0x4cdf2f);continue;}if(!_0x54233d['isFile']())continue;await a181_0x477fc9[_0x46d3c9(0xe2)](_0x4bff5a,_0x4cdf2f),await a181_0x477fc9[_0x46d3c9(0xe9)](_0x4cdf2f,_0x54233d['mode']&0x1ff);}}async function readTemplateVersion(_0x1138d3){const _0x2cee02=a181_0x52f0bc,_0x58c75f=JSON['parse'](await a181_0x477fc9[_0x2cee02(0xed)](a181_0x17ce37['join'](_0x1138d3,'package.json'),_0x2cee02(0xfd)));return nonEmptyString(_0x58c75f['version'])||'local';}async function readDirectoryIdentity(_0x2d84cb){const _0x11f39c=a181_0x52f0bc;try{const _0x17d252=await a181_0x477fc9[_0x11f39c(0xc4)](_0x2d84cb);if(!_0x17d252[_0x11f39c(0xe4)]())return null;return{'dev':_0x17d252[_0x11f39c(0x106)],'ino':_0x17d252[_0x11f39c(0xe0)]};}catch{return null;}}async function commitStagedProject(_0x1b66a1,_0x688e76){const _0xbe6127=a181_0x52f0bc;await a181_0x477fc9[_0xbe6127(0x12c)](_0x688e76);const _0xd135bb=await readDirectoryIdentity(_0x688e76);if(!_0xd135bb)throw new Error(_0xbe6127(0xe7));try{for(const _0x52a64 of await a181_0x477fc9[_0xbe6127(0x124)](_0x1b66a1)){await a181_0x477fc9[_0xbe6127(0xe6)](a181_0x17ce37[_0xbe6127(0x102)](_0x1b66a1,_0x52a64),a181_0x17ce37[_0xbe6127(0x102)](_0x688e76,_0x52a64));}}catch(_0x15c7bd){const _0x54ecf3=await readDirectoryIdentity(_0x688e76);_0x54ecf3?.['dev']===_0xd135bb[_0xbe6127(0x106)]&&_0x54ecf3[_0xbe6127(0xe0)]===_0xd135bb[_0xbe6127(0xe0)]&&await a181_0x477fc9['rm'](_0x688e76,{'recursive':!![],'force':!![]});throw _0x15c7bd;}}export async function materializeProjectTemplate(_0x465a30,_0x2fe63a){const _0x4ce87c=a181_0x52f0bc,_0xf67897=a181_0x17ce37['resolve'](_0x465a30),_0x27ede5=a181_0x17ce37['dirname'](_0xf67897);try{await a181_0x477fc9[_0x4ce87c(0xc4)](_0xf67897);throw new Error(_0x4ce87c(0xf3)+_0xf67897);}catch(_0x16bd9c){if(_0x16bd9c[_0x4ce87c(0xcf)]!==_0x4ce87c(0x117))throw _0x16bd9c;}const _0xaddef0=await a181_0x477fc9[_0x4ce87c(0xcc)](a181_0x17ce37[_0x4ce87c(0x102)](_0x27ede5,_0x4ce87c(0xf0))),_0x3e8828=a181_0x17ce37[_0x4ce87c(0x102)](_0xaddef0,_0x4ce87c(0x12d)),_0x2f7c82=a181_0x17ce37['join'](_0xaddef0,'template.zip');try{try{_0x2fe63a?.(_0x4ce87c(0x108));const _0x2c82fc=await fetchTemplateDescriptor();return _0x2fe63a?.(_0x4ce87c(0x10d)),await downloadArchive(_0x2c82fc,_0x2f7c82,_0x2fe63a),_0x2fe63a?.('extracting'),await extractProjectTemplateArchive(_0x2f7c82,_0x3e8828),await assertTemplateRoot(_0x3e8828),await commitStagedProject(_0x3e8828,_0xf67897),{'source':_0x4ce87c(0xdb),'version':_0x2c82fc[_0x4ce87c(0xd5)]};}catch(_0x587cac){if(_0x587cac[_0x4ce87c(0xcf)]==='EEXIST')throw CliErrors[_0x4ce87c(0xec)](_0x4ce87c(0xf3)+_0xf67897,_0x4ce87c(0xcd));const _0x57fbcb=_0x587cac instanceof Error?_0x587cac[_0x4ce87c(0x126)]:String(_0x587cac);throw CliErrors[_0x4ce87c(0xec)](_0x4ce87c(0xcb),'Check\x20your\x20network\x20and\x20retry.\x20Details:\x20'+_0x57fbcb);}}finally{await a181_0x477fc9['rm'](_0xaddef0,{'recursive':!![],'force':!![]});}}export async function materializeLocalProjectTemplate(_0x414769,_0x15abd6,_0xa6e728){const _0x211fd6=a181_0x52f0bc;let _0x2a3ce2;try{_0x2a3ce2=await a181_0x477fc9['realpath'](a181_0x17ce37['resolve'](_0x414769));}catch{throw CliErrors[_0x211fd6(0xec)]('Local\x20template\x20source\x20does\x20not\x20exist:\x20'+a181_0x17ce37[_0x211fd6(0xc9)](_0x414769),_0x211fd6(0x11a));}const _0x3e2e90=await a181_0x477fc9[_0x211fd6(0xc4)](_0x2a3ce2);if(!_0x3e2e90[_0x211fd6(0xe4)]())throw CliErrors[_0x211fd6(0xec)](_0x211fd6(0xd3)+_0x2a3ce2);const _0x5f12d4=a181_0x17ce37[_0x211fd6(0xc9)](_0x15abd6),_0x27ad75=await a181_0x477fc9[_0x211fd6(0x114)](a181_0x17ce37[_0x211fd6(0x10b)](_0x5f12d4)),_0x5d0627=a181_0x17ce37['join'](_0x27ad75,a181_0x17ce37[_0x211fd6(0x11e)](_0x5f12d4));if(containsPath(_0x2a3ce2,_0x5d0627)||containsPath(_0x5d0627,_0x2a3ce2))throw CliErrors['validation'](_0x211fd6(0x10e),_0x211fd6(0xf1));try{await a181_0x477fc9['lstat'](_0x5d0627);throw CliErrors[_0x211fd6(0xec)](_0x211fd6(0xf3)+_0x5d0627,_0x211fd6(0xfe));}catch(_0x1f09d1){if(_0x1f09d1[_0x211fd6(0xcf)]!==_0x211fd6(0x117))throw _0x1f09d1;}const _0x3f2f37=a181_0x17ce37[_0x211fd6(0x10b)](_0x5d0627);await a181_0x477fc9['access'](_0x3f2f37);const _0x52410f=await a181_0x477fc9['mkdtemp'](a181_0x17ce37[_0x211fd6(0x102)](_0x3f2f37,_0x211fd6(0xf0))),_0x288153=a181_0x17ce37[_0x211fd6(0x102)](_0x52410f,_0x211fd6(0x12d));try{_0xa6e728?.('copying'),await copyLocalTemplateDirectory(_0x2a3ce2,_0x288153),await assertTemplateRoot(_0x288153);const _0x2b602a=await readTemplateVersion(_0x288153);return await commitStagedProject(_0x288153,_0x5d0627),{'source':'local','version':_0x2b602a};}catch(_0x8a8e1a){const _0x42b54a=_0x8a8e1a instanceof Error?_0x8a8e1a[_0x211fd6(0x126)]:String(_0x8a8e1a);throw CliErrors[_0x211fd6(0xec)]('Invalid\x20local\x20template\x20source:\x20'+_0x42b54a,_0x211fd6(0xeb));}finally{await a181_0x477fc9['rm'](_0x52410f,{'recursive':!![],'force':!![]});}}
|
|
1
|
+
const a179_0x3f53e7=a179_0x1e59;function a179_0x1e59(_0x376516,_0x1f5f1c){_0x376516=_0x376516-0xba;const _0x33f693=a179_0x33f6();let _0x1e59c9=_0x33f693[_0x376516];return _0x1e59c9;}(function(_0x2324dc,_0x3df59f){const _0x725813=a179_0x1e59,_0x219d02=_0x2324dc();while(!![]){try{const _0x5a06ee=-parseInt(_0x725813(0x10c))/0x1*(-parseInt(_0x725813(0x121))/0x2)+-parseInt(_0x725813(0x105))/0x3*(-parseInt(_0x725813(0x113))/0x4)+-parseInt(_0x725813(0xbf))/0x5*(parseInt(_0x725813(0x10b))/0x6)+-parseInt(_0x725813(0x10f))/0x7*(parseInt(_0x725813(0x11d))/0x8)+parseInt(_0x725813(0x101))/0x9*(-parseInt(_0x725813(0xfc))/0xa)+-parseInt(_0x725813(0x10e))/0xb+parseInt(_0x725813(0x128))/0xc*(parseInt(_0x725813(0xef))/0xd);if(_0x5a06ee===_0x3df59f)break;else _0x219d02['push'](_0x219d02['shift']());}catch(_0xc7934){_0x219d02['push'](_0x219d02['shift']());}}}(a179_0x33f6,0x57a92));import{createHash}from'node:crypto';import a179_0x209989 from'node:fs/promises';import a179_0x4429bd from'node:path';import{PROJECT_TEMPLATE_ASSET_BASE_URL}from'../../../constant/cdn.js';import{extractProjectTemplateArchive}from'../../../commands/project/create/project-template-archive.js';import{getRabetbaseCdnConfig}from'../../../utils/cli-version-policy.js';import{CliErrors}from'../../../errors.js';function a179_0x33f6(){const _0x2f9689=['relative','template.zip','1657520uKpLxw','resolve','push','protocol','isDirectory','.rabetbase-create-','CDN\x20project\x20template\x20exceeds\x20the\x2020\x20MB\x20download\x20limit.','pathname','Check\x20your\x20network\x20and\x20retry.\x20Details:\x20','.env.','12592BXGYUR','mode',',\x20received\x20','name','259384OoodLw','Use\x20a\x20different\x20project\x20name.','.env.example','writeFile','CDN\x20project\x20template\x20exceeds\x20its\x20declared\x20download\x20size.','hex','body','12YgeyjL','Unable\x20to\x20download\x20a\x20valid\x20project\x20template\x20from\x20CDN.','Check\x20the\x20source\x20directory\x20and\x20retry.','arrayBuffer','from','version','trim','CDN\x20project\x20template\x20request\x20failed\x20with\x20HTTP\x20','package.json','sep','.DS_Store','39975arnHVp','abort','readdir','mkdir','ino','Local\x20template\x20source\x20is\x20not\x20a\x20directory:\x20','node_modules','posix','cdn','Choose\x20a\x20different\x20project\x20name\x20or\x20remove\x20the\x20directory\x20first.','parse','realpath','code','Local\x20template\x20source\x20does\x20not\x20exist:\x20','join','CDN\x20project\x20template\x20URL\x20must\x20use\x20the\x20trusted\x20HTTPS\x20origin.','isAbsolute','message','length','.codegraph','Local\x20project\x20template\x20must\x20not\x20contain\x20symlinks:\x20','content-length','href','get','extracting','downloading','has','CDN\x20config\x20does\x20not\x20define\x20template\x20\x22','projectTemplate','.rabetbase','validation','isSafeInteger','.lovrabet.log','sub-app-react-demo','dirname','resolving','copying','getReader','isFinite','sha256','.env','.git','headers','origin','size','cancel','application/zip','CDN\x20project\x20template\x20size\x20mismatch:\x20expected\x20','14161381MWKTkZ','Local\x20template\x20source\x20and\x20project\x20output\x20must\x20not\x20overlap.','chmod','toLowerCase','copyFile','EEXIST','access','number','concat','test','utf8','dist','.idea','20wAyiRi','dev','Project\x20template\x20package.json\x20is\x20invalid.','read','object','18027dnELTi','lstat','mkdtemp','Project\x20directory\x20already\x20exists:\x20','3VMFYMr','startsWith','includes','CDN\x20project\x20template\x20checksum\x20verification\x20failed.','isFile','ENOENT','468Fyykyj','2fIcsuw','readFile','1736295FBtHlY','2751bTYePm','Choose\x20an\x20output\x20directory\x20outside\x20the\x20template\x20source.'];a179_0x33f6=function(){return _0x2f9689;};return a179_0x33f6();}const TEMPLATE_ID=a179_0x3f53e7(0xe0),ARCHIVE_TIMEOUT_MS=0x3a98,MAX_ARCHIVE_SIZE=0x14*0x400*0x400;function nonEmptyString(_0x3d727b){const _0xd34abf=a179_0x3f53e7;return typeof _0x3d727b==='string'&&_0x3d727b[_0xd34abf(0xba)]()?_0x3d727b[_0xd34abf(0xba)]():null;}function parseDescriptor(_0x284cc0){const _0x14f230=a179_0x3f53e7;if(!_0x284cc0||typeof _0x284cc0!==_0x14f230(0x100))throw new Error(_0x14f230(0xda)+TEMPLATE_ID+'\x22.');const _0x196c4c=_0x284cc0,_0x40a9d3=nonEmptyString(_0x196c4c[_0x14f230(0x12d)]),_0x24791a=nonEmptyString(_0x196c4c[_0x14f230(0x120)]),_0x224384=nonEmptyString(_0x196c4c[_0x14f230(0xe6)])?.[_0x14f230(0xf2)](),_0x32f4c1=_0x196c4c[_0x14f230(0xeb)];if(!_0x40a9d3||!_0x24791a||_0x24791a!==a179_0x4429bd[_0x14f230(0xc6)]['basename'](_0x24791a)||_0x24791a[_0x14f230(0x107)]('\x5c')||!_0x224384||!/^sha256:[a-f0-9]{64}$/[_0x14f230(0xf8)](_0x224384)||typeof _0x32f4c1!==_0x14f230(0xf6)||!Number[_0x14f230(0xde)](_0x32f4c1)||_0x32f4c1<=0x0||_0x32f4c1>MAX_ARCHIVE_SIZE)throw new Error('CDN\x20config\x20contains\x20an\x20invalid\x20descriptor\x20for\x20\x22'+TEMPLATE_ID+'\x22.');return{'version':_0x40a9d3,'name':_0x24791a,'sha256':_0x224384,'size':_0x32f4c1};}async function fetchWithTimeout(_0x12042a,_0x4372dd,_0x3dc0e2,_0x3088b9){const _0x16e844=a179_0x3f53e7,_0x11c430=new AbortController(),_0x5675f8=setTimeout(()=>_0x11c430[_0x16e844(0xc0)](),_0x4372dd);try{const _0x1dc9c3=await fetch(_0x12042a,{'headers':{'Accept':_0x3dc0e2},'signal':_0x11c430['signal']});return await _0x3088b9(_0x1dc9c3);}finally{clearTimeout(_0x5675f8);}}async function fetchTemplateDescriptor(){const _0x33822f=a179_0x3f53e7,_0x51938e=await getRabetbaseCdnConfig();if(!_0x51938e)throw new Error('Rabetbase\x20CDN\x20config\x20is\x20unavailable.');return parseDescriptor(_0x51938e[_0x33822f(0xdb)]);}function resolveArchiveUrl(_0x421b13){const _0x3e3c14=a179_0x3f53e7,_0x4a33ec=new URL(PROJECT_TEMPLATE_ASSET_BASE_URL+'/'),_0x1b28bf=new URL(_0x421b13,_0x4a33ec);if(_0x1b28bf[_0x3e3c14(0x116)]!=='https:'||_0x1b28bf[_0x3e3c14(0xea)]!==_0x4a33ec[_0x3e3c14(0xea)]||!_0x1b28bf[_0x3e3c14(0x11a)][_0x3e3c14(0x106)](_0x4a33ec[_0x3e3c14(0x11a)]))throw new Error(_0x3e3c14(0xce));return _0x1b28bf[_0x3e3c14(0xd5)];}async function readResponseBytes(_0x6afcb8,_0x4c08ef){const _0x447a60=a179_0x3f53e7;if(!_0x6afcb8[_0x447a60(0x127)]){const _0x279ba0=Buffer[_0x447a60(0x12c)](await _0x6afcb8[_0x447a60(0x12b)]());if(_0x279ba0['length']>_0x4c08ef)throw new Error(_0x447a60(0x125));return _0x279ba0;}const _0x40d438=_0x6afcb8[_0x447a60(0x127)][_0x447a60(0xe4)](),_0x2daed3=[];let _0x2db66a=0x0;try{while(!![]){const {done:_0x3bb467,value:_0x45834b}=await _0x40d438[_0x447a60(0xff)]();if(_0x3bb467)break;_0x2db66a+=_0x45834b['byteLength'];if(_0x2db66a>_0x4c08ef){await _0x40d438[_0x447a60(0xec)]();throw new Error('CDN\x20project\x20template\x20exceeds\x20its\x20declared\x20download\x20size.');}_0x2daed3[_0x447a60(0x115)](Buffer['from'](_0x45834b));}}finally{_0x40d438['releaseLock']();}return Buffer[_0x447a60(0xf7)](_0x2daed3,_0x2db66a);}async function downloadArchive(_0x262525,_0x5d5d98,_0x20dd8c){const _0x57b90a=a179_0x3f53e7,_0x51397d=await fetchWithTimeout(resolveArchiveUrl(_0x262525[_0x57b90a(0x120)]),ARCHIVE_TIMEOUT_MS,_0x57b90a(0xed),async _0x65627b=>{const _0x38d275=_0x57b90a;if(!_0x65627b['ok'])throw new Error(_0x38d275(0xbb)+_0x65627b['status']+'.');const _0x839f9b=Number(_0x65627b[_0x38d275(0xe9)][_0x38d275(0xd6)](_0x38d275(0xd4)));if(Number[_0x38d275(0xe5)](_0x839f9b)&&_0x839f9b>MAX_ARCHIVE_SIZE)throw new Error(_0x38d275(0x119));return readResponseBytes(_0x65627b,_0x262525[_0x38d275(0xeb)]);});if(_0x51397d[_0x57b90a(0xd1)]!==_0x262525[_0x57b90a(0xeb)])throw new Error(_0x57b90a(0xee)+_0x262525[_0x57b90a(0xeb)]+_0x57b90a(0x11f)+_0x51397d['length']+'.');_0x20dd8c?.('verifying');const _0x26c9c5='sha256:'+createHash('sha256')['update'](_0x51397d)['digest'](_0x57b90a(0x126));if(_0x26c9c5!==_0x262525[_0x57b90a(0xe6)])throw new Error(_0x57b90a(0x108));await a179_0x209989[_0x57b90a(0x124)](_0x5d5d98,_0x51397d,{'flag':'wx'});}async function assertTemplateRoot(_0x5a5c77){const _0x22fd61=a179_0x3f53e7,_0x540dfa=a179_0x4429bd[_0x22fd61(0xcd)](_0x5a5c77,_0x22fd61(0xbc)),_0x58aed3=JSON[_0x22fd61(0xc9)](await a179_0x209989[_0x22fd61(0x10d)](_0x540dfa,_0x22fd61(0xf9)));if(!_0x58aed3||typeof _0x58aed3!==_0x22fd61(0x100))throw new Error(_0x22fd61(0xfe));}const LOCAL_FORBIDDEN_NAMES=new Set([a179_0x3f53e7(0xbe),a179_0x3f53e7(0xd2),a179_0x3f53e7(0xe8),a179_0x3f53e7(0xfb),'.lovrabet.json',a179_0x3f53e7(0xdf),a179_0x3f53e7(0xdc),'.rabetbase.json',a179_0x3f53e7(0xfa),a179_0x3f53e7(0xc5)]);function isForbiddenTemplateEntry(_0x5d647c){const _0x1930c0=a179_0x3f53e7;if(LOCAL_FORBIDDEN_NAMES[_0x1930c0(0xd9)](_0x5d647c))return!![];return _0x5d647c===_0x1930c0(0xe7)||_0x5d647c[_0x1930c0(0x106)](_0x1930c0(0x11c))&&_0x5d647c!==_0x1930c0(0x123);}function containsPath(_0x65f19a,_0x1d572b){const _0x4118f8=a179_0x3f53e7,_0x31745b=a179_0x4429bd[_0x4118f8(0x111)](_0x65f19a,_0x1d572b);return _0x31745b===''||!_0x31745b['startsWith']('..'+a179_0x4429bd[_0x4118f8(0xbd)])&&_0x31745b!=='..'&&!a179_0x4429bd[_0x4118f8(0xcf)](_0x31745b);}async function copyLocalTemplateDirectory(_0x47fbfe,_0x5a83ad){const _0x386992=a179_0x3f53e7;await a179_0x209989['mkdir'](_0x5a83ad,{'recursive':!![]});for(const _0x1c0f6b of await a179_0x209989[_0x386992(0xc1)](_0x47fbfe,{'withFileTypes':!![]})){const _0x11baba=a179_0x4429bd[_0x386992(0xcd)](_0x47fbfe,_0x1c0f6b[_0x386992(0x120)]),_0x7b7e95=a179_0x4429bd[_0x386992(0xcd)](_0x5a83ad,_0x1c0f6b[_0x386992(0x120)]);if(isForbiddenTemplateEntry(_0x1c0f6b[_0x386992(0x120)]))throw new Error('Local\x20project\x20template\x20contains\x20a\x20local-only\x20entry:\x20'+_0x11baba);const _0xd94d3d=await a179_0x209989['lstat'](_0x11baba);if(_0xd94d3d['isSymbolicLink']())throw new Error(_0x386992(0xd3)+_0x11baba);if(_0xd94d3d['isDirectory']()){await copyLocalTemplateDirectory(_0x11baba,_0x7b7e95);continue;}if(!_0xd94d3d[_0x386992(0x109)]())continue;await a179_0x209989[_0x386992(0xf3)](_0x11baba,_0x7b7e95),await a179_0x209989[_0x386992(0xf1)](_0x7b7e95,_0xd94d3d[_0x386992(0x11e)]&0x1ff);}}async function readTemplateVersion(_0x392a07){const _0x1948d9=a179_0x3f53e7,_0x15044e=JSON['parse'](await a179_0x209989[_0x1948d9(0x10d)](a179_0x4429bd[_0x1948d9(0xcd)](_0x392a07,_0x1948d9(0xbc)),'utf8'));return nonEmptyString(_0x15044e[_0x1948d9(0x12d)])||'local';}async function readDirectoryIdentity(_0x204910){const _0x45cc6b=a179_0x3f53e7;try{const _0x20001a=await a179_0x209989[_0x45cc6b(0x102)](_0x204910);if(!_0x20001a['isDirectory']())return null;return{'dev':_0x20001a[_0x45cc6b(0xfd)],'ino':_0x20001a[_0x45cc6b(0xc3)]};}catch{return null;}}async function commitStagedProject(_0x1e51f5,_0x42197e){const _0x402177=a179_0x3f53e7;await a179_0x209989[_0x402177(0xc2)](_0x42197e);const _0x184f80=await readDirectoryIdentity(_0x42197e);if(!_0x184f80)throw new Error('Unable\x20to\x20claim\x20the\x20project\x20directory.');try{for(const _0x186374 of await a179_0x209989[_0x402177(0xc1)](_0x1e51f5)){await a179_0x209989['rename'](a179_0x4429bd[_0x402177(0xcd)](_0x1e51f5,_0x186374),a179_0x4429bd[_0x402177(0xcd)](_0x42197e,_0x186374));}}catch(_0x1b7fed){const _0xb7dbb3=await readDirectoryIdentity(_0x42197e);_0xb7dbb3?.[_0x402177(0xfd)]===_0x184f80[_0x402177(0xfd)]&&_0xb7dbb3[_0x402177(0xc3)]===_0x184f80[_0x402177(0xc3)]&&await a179_0x209989['rm'](_0x42197e,{'recursive':!![],'force':!![]});throw _0x1b7fed;}}export async function materializeProjectTemplate(_0xd2b62b,_0x233cde){const _0xf2d574=a179_0x3f53e7,_0x5279dd=a179_0x4429bd[_0xf2d574(0x114)](_0xd2b62b),_0x361655=a179_0x4429bd['dirname'](_0x5279dd);try{await a179_0x209989[_0xf2d574(0x102)](_0x5279dd);throw new Error(_0xf2d574(0x104)+_0x5279dd);}catch(_0xcd4ec1){if(_0xcd4ec1[_0xf2d574(0xcb)]!==_0xf2d574(0x10a))throw _0xcd4ec1;}const _0x5980a6=await a179_0x209989[_0xf2d574(0x103)](a179_0x4429bd[_0xf2d574(0xcd)](_0x361655,'.rabetbase-create-')),_0x51ab4b=a179_0x4429bd[_0xf2d574(0xcd)](_0x5980a6,'project'),_0x412aa4=a179_0x4429bd[_0xf2d574(0xcd)](_0x5980a6,_0xf2d574(0x112));try{try{_0x233cde?.(_0xf2d574(0xe2));const _0x124c03=await fetchTemplateDescriptor();return _0x233cde?.(_0xf2d574(0xd8)),await downloadArchive(_0x124c03,_0x412aa4,_0x233cde),_0x233cde?.(_0xf2d574(0xd7)),await extractProjectTemplateArchive(_0x412aa4,_0x51ab4b),await assertTemplateRoot(_0x51ab4b),await commitStagedProject(_0x51ab4b,_0x5279dd),{'source':_0xf2d574(0xc7),'version':_0x124c03[_0xf2d574(0x12d)]};}catch(_0x5417b3){if(_0x5417b3[_0xf2d574(0xcb)]===_0xf2d574(0xf4))throw CliErrors[_0xf2d574(0xdd)](_0xf2d574(0x104)+_0x5279dd,_0xf2d574(0x122));const _0x3312b4=_0x5417b3 instanceof Error?_0x5417b3[_0xf2d574(0xd0)]:String(_0x5417b3);throw CliErrors[_0xf2d574(0xdd)](_0xf2d574(0x129),_0xf2d574(0x11b)+_0x3312b4);}}finally{await a179_0x209989['rm'](_0x5980a6,{'recursive':!![],'force':!![]});}}export async function materializeLocalProjectTemplate(_0x20f78f,_0x70e05,_0x2eaab7){const _0xd705c9=a179_0x3f53e7;let _0xd1ffc5;try{_0xd1ffc5=await a179_0x209989['realpath'](a179_0x4429bd[_0xd705c9(0x114)](_0x20f78f));}catch{throw CliErrors[_0xd705c9(0xdd)](_0xd705c9(0xcc)+a179_0x4429bd[_0xd705c9(0x114)](_0x20f78f),'Pass\x20a\x20directory\x20containing\x20the\x20template\x20source\x20package.json.');}const _0x4c2479=await a179_0x209989[_0xd705c9(0x102)](_0xd1ffc5);if(!_0x4c2479[_0xd705c9(0x117)]())throw CliErrors['validation'](_0xd705c9(0xc4)+_0xd1ffc5);const _0x1fb2e0=a179_0x4429bd[_0xd705c9(0x114)](_0x70e05),_0xb530f4=await a179_0x209989[_0xd705c9(0xca)](a179_0x4429bd[_0xd705c9(0xe1)](_0x1fb2e0)),_0x5916f8=a179_0x4429bd[_0xd705c9(0xcd)](_0xb530f4,a179_0x4429bd['basename'](_0x1fb2e0));if(containsPath(_0xd1ffc5,_0x5916f8)||containsPath(_0x5916f8,_0xd1ffc5))throw CliErrors['validation'](_0xd705c9(0xf0),_0xd705c9(0x110));try{await a179_0x209989[_0xd705c9(0x102)](_0x5916f8);throw CliErrors[_0xd705c9(0xdd)](_0xd705c9(0x104)+_0x5916f8,_0xd705c9(0xc8));}catch(_0x47132f){if(_0x47132f[_0xd705c9(0xcb)]!==_0xd705c9(0x10a))throw _0x47132f;}const _0xdf6455=a179_0x4429bd[_0xd705c9(0xe1)](_0x5916f8);await a179_0x209989[_0xd705c9(0xf5)](_0xdf6455);const _0x414c80=await a179_0x209989[_0xd705c9(0x103)](a179_0x4429bd[_0xd705c9(0xcd)](_0xdf6455,_0xd705c9(0x118))),_0x1b29f9=a179_0x4429bd['join'](_0x414c80,'project');try{_0x2eaab7?.(_0xd705c9(0xe3)),await copyLocalTemplateDirectory(_0xd1ffc5,_0x1b29f9),await assertTemplateRoot(_0x1b29f9);const _0x6daec1=await readTemplateVersion(_0x1b29f9);return await commitStagedProject(_0x1b29f9,_0x5916f8),{'source':'local','version':_0x6daec1};}catch(_0x21c048){const _0x3e2b8e=_0x21c048 instanceof Error?_0x21c048['message']:String(_0x21c048);throw CliErrors[_0xd705c9(0xdd)]('Invalid\x20local\x20template\x20source:\x20'+_0x3e2b8e,_0xd705c9(0x12a));}finally{await a179_0x209989['rm'](_0x414c80,{'recursive':!![],'force':!![]});}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3d31be,_0x1e457b){const _0x49d67b=a180_0x1d7d,_0x4735ac=_0x3d31be();while(!![]){try{const _0x160e13=parseInt(_0x49d67b(0x97))/0x1*(parseInt(_0x49d67b(0x96))/0x2)+-parseInt(_0x49d67b(0x91))/0x3+-parseInt(_0x49d67b(0xa0))/0x4*(parseInt(_0x49d67b(0x98))/0x5)+-parseInt(_0x49d67b(0x93))/0x6+-parseInt(_0x49d67b(0x9e))/0x7+parseInt(_0x49d67b(0x90))/0x8+-parseInt(_0x49d67b(0x9b))/0x9*(-parseInt(_0x49d67b(0x9a))/0xa);if(_0x160e13===_0x1e457b)break;else _0x4735ac['push'](_0x4735ac['shift']());}catch(_0x221b5d){_0x4735ac['push'](_0x4735ac['shift']());}}}(a180_0x414d,0x43d0d));import{CliErrors}from'../../../errors.js';function a180_0x1d7d(_0x30cad7,_0x5910b6){_0x30cad7=_0x30cad7-0x90;const _0x414d2a=a180_0x414d();let _0x1d7d9a=_0x414d2a[_0x30cad7];return _0x1d7d9a;}const PROJECT_NAME_PATTERN=/^[A-Za-z0-9][A-Za-z0-9_-]*$/,WINDOWS_RESERVED_NAME=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i,MAX_PROJECT_NAME_LENGTH=0x64;export function getProjectNameValidationError(_0x528594){const _0x5bbafe=a180_0x1d7d,_0x454783=_0x528594[_0x5bbafe(0x92)]();if(!_0x454783)return _0x5bbafe(0x9d);if(_0x454783['length']>MAX_PROJECT_NAME_LENGTH)return _0x5bbafe(0x9f)+MAX_PROJECT_NAME_LENGTH+_0x5bbafe(0x94);if(!PROJECT_NAME_PATTERN[_0x5bbafe(0xa1)](_0x454783))return _0x5bbafe(0xa2);if(WINDOWS_RESERVED_NAME[_0x5bbafe(0xa1)](_0x454783))return _0x5bbafe(0x95)+_0x454783+'\x22\x20is\x20reserved\x20on\x20Windows';return null;}export function validateProjectName(_0x406e76){const _0x5940f6=a180_0x1d7d,_0x2bf5bf=_0x406e76['trim'](),_0xa3fcde=getProjectNameValidationError(_0x2bf5bf);if(_0xa3fcde)throw CliErrors[_0x5940f6(0x9c)](_0xa3fcde,_0x5940f6(0x99));return _0x2bf5bf;}function a180_0x414d(){const _0x3c70d9=['8fuTsof','test','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','1899256gqvXuW','187881uXjJjt','trim','591834KQLxfD','\x20characters','Project\x20name\x20\x22','2EtUjNh','245566oogXDd','592055ewQryQ','Use\x20a\x20portable\x20directory\x20name\x20without\x20path\x20separators.','10tzmmiC','5341725fkLUYQ','validation','Project\x20name\x20cannot\x20be\x20empty','2804459IuBmCb','Project\x20name\x20cannot\x20exceed\x20'];a180_0x414d=function(){return _0x3c70d9;};return a180_0x414d();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1ab3ab,_0x1abbd7){const _0x332dd5=a181_0x4904,_0x19d29f=_0x1ab3ab();while(!![]){try{const _0x445401=-parseInt(_0x332dd5(0x82))/0x1+parseInt(_0x332dd5(0x80))/0x2*(parseInt(_0x332dd5(0x7a))/0x3)+-parseInt(_0x332dd5(0x73))/0x4*(parseInt(_0x332dd5(0x7c))/0x5)+parseInt(_0x332dd5(0x7d))/0x6+parseInt(_0x332dd5(0x99))/0x7+parseInt(_0x332dd5(0x83))/0x8+-parseInt(_0x332dd5(0x77))/0x9;if(_0x445401===_0x1abbd7)break;else _0x19d29f['push'](_0x19d29f['shift']());}catch(_0xbf5be7){_0x19d29f['push'](_0x19d29f['shift']());}}}(a181_0x498d,0x2e416));import{createWriteStream}from'node:fs';function a181_0x498d(){const _0x2e571c=['93kyNjGK','Project\x20template\x20ZIP\x20expands\x20beyond\x20the\x2050\x20MB\x20safety\x20limit.','5KoXMwk','1255368ygFVeT','once','catch','19268DoqpNo','test','179749DbXZMW','1398728mUaoTt','length','Unable\x20to\x20open\x20project\x20template\x20archive.','Encrypted\x20ZIP\x20entries\x20are\x20not\x20supported:\x20','ZIP\x20entry\x20escapes\x20the\x20destination\x20directory:\x20','resolve','sep','Case-conflicting\x20ZIP\x20entry\x20path:\x20','Unable\x20to\x20read\x20ZIP\x20entry:\x20','Project\x20template\x20ZIP\x20exceeds\x20','endsWith','fileName','mkdir','openReadStream','close','readEntry','\x20entries.','Unsafe\x20or\x20non-portable\x20ZIP\x20entry\x20path:\x20','Duplicate\x20or\x20case-conflicting\x20ZIP\x20entry:\x20','startsWith','get','has','1500667UmdgSv','join','toLocaleLowerCase','open','en-US','split','slice','344496xEWquS','end','externalFileAttributes','replace','3975921cKixOD','uncompressedSize','set'];a181_0x498d=function(){return _0x2e571c;};return a181_0x498d();}import a181_0x72c462 from'node:fs/promises';import a181_0x1ae020 from'node:path';import{pipeline}from'node:stream/promises';import a181_0xb08bd7 from'yauzl';const MAX_ENTRY_COUNT=0x7d0,MAX_UNCOMPRESSED_SIZE=0x32*0x400*0x400,WINDOWS_RESERVED_NAME=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\..*)?$/i,WINDOWS_INVALID_CHAR=/[<>:"|?*\x00-\x1f]/;function openZip(_0x1c9403){return new Promise((_0x18c83f,_0x354606)=>{const _0x12aaa0=a181_0x4904;a181_0xb08bd7[_0x12aaa0(0x9c)](_0x1c9403,{'lazyEntries':!![],'decodeStrings':!![],'strictFileNames':!![],'validateEntrySizes':!![]},(_0x31ea3f,_0x23b5b6)=>{const _0x15d1bd=_0x12aaa0;if(_0x31ea3f||!_0x23b5b6){_0x354606(_0x31ea3f||new Error(_0x15d1bd(0x85)));return;}_0x18c83f(_0x23b5b6);});});}function openEntryStream(_0x1211b4,_0x2dbe52){return new Promise((_0x92b022,_0x4a5421)=>{const _0x329067=a181_0x4904;_0x1211b4[_0x329067(0x90)](_0x2dbe52,(_0x388060,_0x4cb4c2)=>{const _0x1c6f2c=_0x329067;if(_0x388060||!_0x4cb4c2){_0x4a5421(_0x388060||new Error(_0x1c6f2c(0x8b)+_0x2dbe52[_0x1c6f2c(0x8e)]));return;}_0x92b022(_0x4cb4c2);});});}function validateEntryPath(_0x35b39e){const _0x391d71=a181_0x4904,_0x721c47=_0x35b39e[_0x391d71(0x76)](/\\/g,'/'),_0x2c8c5e=_0x721c47[_0x391d71(0x8d)]('/'),_0x450134=_0x2c8c5e?_0x721c47['slice'](0x0,-0x1):_0x721c47;if(!_0x450134||_0x721c47['startsWith']('/')||/^[A-Za-z]:\//[_0x391d71(0x81)](_0x721c47))throw new Error('Unsafe\x20absolute\x20ZIP\x20entry\x20path:\x20'+_0x35b39e);const _0x4bda5e=_0x450134['split']('/');for(const _0x3c0f85 of _0x4bda5e){if(!_0x3c0f85||_0x3c0f85==='.'||_0x3c0f85==='..'||_0x3c0f85['endsWith']('.')||_0x3c0f85[_0x391d71(0x8d)]('\x20')||WINDOWS_INVALID_CHAR[_0x391d71(0x81)](_0x3c0f85)||WINDOWS_RESERVED_NAME[_0x391d71(0x81)](_0x3c0f85))throw new Error(_0x391d71(0x94)+_0x35b39e);}return{'relativePath':_0x4bda5e[_0x391d71(0x9a)](a181_0x1ae020[_0x391d71(0x89)]),'directory':_0x2c8c5e};}function a181_0x4904(_0x2f5a6d,_0x5f0be4){_0x2f5a6d=_0x2f5a6d-0x73;const _0x498d1c=a181_0x498d();let _0x490406=_0x498d1c[_0x2f5a6d];return _0x490406;}function isSymbolicLink(_0x3eaf97){const _0x57ca87=a181_0x4904,_0x551a20=_0x3eaf97[_0x57ca87(0x75)]>>>0x10&0xffff;return(_0x551a20&0xf000)===0xa000;}export async function extractProjectTemplateArchive(_0x309856,_0x4c4562){const _0x2ad554=a181_0x4904,_0xc78349=await openZip(_0x309856),_0x4e96e7=a181_0x1ae020['resolve'](_0x4c4562),_0x381eff=new Set(),_0x4987bb=new Map();let _0x473fb4=0x0,_0x124a92=0x0;await a181_0x72c462[_0x2ad554(0x8f)](_0x4e96e7,{'recursive':!![]}),await new Promise((_0x5d102d,_0x1a8ef1)=>{const _0x25d7aa=_0x2ad554;let _0x4b280a=![];const _0x39a657=_0x562e7c=>{const _0x142165=a181_0x4904;if(_0x4b280a)return;_0x4b280a=!![],_0xc78349[_0x142165(0x91)](),_0x1a8ef1(_0x562e7c instanceof Error?_0x562e7c:new Error(String(_0x562e7c)));};_0xc78349[_0x25d7aa(0x7e)]('error',_0x39a657),_0xc78349['once'](_0x25d7aa(0x74),()=>{if(_0x4b280a)return;_0x4b280a=!![],_0x5d102d();}),_0xc78349['on']('entry',_0x30fcf6=>{const _0xcddcc4=_0x25d7aa;void(async()=>{const _0x119137=a181_0x4904;_0x473fb4+=0x1,_0x124a92+=_0x30fcf6[_0x119137(0x78)];if(_0x473fb4>MAX_ENTRY_COUNT)throw new Error(_0x119137(0x8c)+MAX_ENTRY_COUNT+_0x119137(0x93));if(_0x124a92>MAX_UNCOMPRESSED_SIZE)throw new Error(_0x119137(0x7b));if(_0x30fcf6['isEncrypted']())throw new Error(_0x119137(0x86)+_0x30fcf6[_0x119137(0x8e)]);if(isSymbolicLink(_0x30fcf6))throw new Error('Symbolic\x20links\x20are\x20not\x20allowed\x20in\x20project\x20templates:\x20'+_0x30fcf6[_0x119137(0x8e)]);const {relativePath:_0x620ead,directory:_0x1cb753}=validateEntryPath(_0x30fcf6['fileName']),_0x3db7e6=_0x620ead[_0x119137(0x9e)](a181_0x1ae020[_0x119137(0x89)]);for(let _0x479daf=0x1;_0x479daf<=_0x3db7e6[_0x119137(0x84)];_0x479daf+=0x1){const _0x8232d5=_0x3db7e6[_0x119137(0x9f)](0x0,_0x479daf)['join'](a181_0x1ae020[_0x119137(0x89)]),_0x25cbe1=_0x8232d5['toLocaleLowerCase'](_0x119137(0x9d)),_0x46b33e=_0x4987bb[_0x119137(0x97)](_0x25cbe1);if(_0x46b33e&&_0x46b33e!==_0x8232d5)throw new Error(_0x119137(0x8a)+_0x30fcf6[_0x119137(0x8e)]);_0x4987bb[_0x119137(0x79)](_0x25cbe1,_0x8232d5);}const _0x3b738c=_0x620ead[_0x119137(0x9b)](_0x119137(0x9d));if(_0x381eff[_0x119137(0x98)](_0x3b738c))throw new Error(_0x119137(0x95)+_0x30fcf6[_0x119137(0x8e)]);_0x381eff['add'](_0x3b738c);const _0x3f9230=a181_0x1ae020[_0x119137(0x88)](_0x4e96e7,_0x620ead);if(_0x3f9230!==_0x4e96e7&&!_0x3f9230[_0x119137(0x96)](''+_0x4e96e7+a181_0x1ae020[_0x119137(0x89)]))throw new Error(_0x119137(0x87)+_0x30fcf6[_0x119137(0x8e)]);if(_0x1cb753)await a181_0x72c462[_0x119137(0x8f)](_0x3f9230,{'recursive':!![]});else{await a181_0x72c462[_0x119137(0x8f)](a181_0x1ae020['dirname'](_0x3f9230),{'recursive':!![]});const _0x379037=await openEntryStream(_0xc78349,_0x30fcf6);await pipeline(_0x379037,createWriteStream(_0x3f9230,{'flags':'wx','mode':0x1a4}));}_0xc78349[_0x119137(0x92)]();})()[_0xcddcc4(0x7f)](_0x39a657);}),_0xc78349[_0x25d7aa(0x92)]();});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a182_0x3dcdea=a182_0x511b;(function(_0x5bd0e3,_0x2491ed){const _0xd4b116=a182_0x511b,_0x610bab=_0x5bd0e3();while(!![]){try{const _0x5d9588=parseInt(_0xd4b116(0x192))/0x1*(-parseInt(_0xd4b116(0x18c))/0x2)+-parseInt(_0xd4b116(0x186))/0x3*(parseInt(_0xd4b116(0x18d))/0x4)+parseInt(_0xd4b116(0x191))/0x5*(parseInt(_0xd4b116(0x18b))/0x6)+-parseInt(_0xd4b116(0x189))/0x7*(parseInt(_0xd4b116(0x18e))/0x8)+parseInt(_0xd4b116(0x190))/0x9*(-parseInt(_0xd4b116(0x183))/0xa)+-parseInt(_0xd4b116(0x187))/0xb+parseInt(_0xd4b116(0x185))/0xc*(parseInt(_0xd4b116(0x18f))/0xd);if(_0x5d9588===_0x2491ed)break;else _0x610bab['push'](_0x610bab['shift']());}catch(_0x5d6997){_0x610bab['push'](_0x610bab['shift']());}}}(a182_0x330d,0x4c477));function a182_0x511b(_0x3ff007,_0x42fbd4){_0x3ff007=_0x3ff007-0x183;const _0x330d7f=a182_0x330d();let _0x511b0f=_0x330d7f[_0x3ff007];return _0x511b0f;}import a182_0x37d99a from'node:path';import{fileURLToPath}from'node:url';const __dirname=a182_0x37d99a[a182_0x3dcdea(0x18a)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x3a41bb=a182_0x3dcdea;return a182_0x37d99a[_0x3a41bb(0x184)](__dirname,_0x3a41bb(0x188));}function a182_0x330d(){const _0x58b4c0=['8rTPkrw','16654963ObszFA','684WqfSdW','3495BhqUQz','18rwJymO','33090YuGwhF','resolve','12VQSYpp','84EyLHCd','4514686iwzqrQ','../../../../','1069509arwbOv','dirname','3030BhAFAz','9086xDOdtv','60748bqzDcF'];a182_0x330d=function(){return _0x58b4c0;};return a182_0x330d();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4ea376,_0x43cfef){const _0x3f616f=a183_0x5e12,_0x81837e=_0x4ea376();while(!![]){try{const _0x353f82=-parseInt(_0x3f616f(0xe2))/0x1*(-parseInt(_0x3f616f(0xe3))/0x2)+parseInt(_0x3f616f(0xe8))/0x3*(parseInt(_0x3f616f(0xe0))/0x4)+parseInt(_0x3f616f(0xe4))/0x5+-parseInt(_0x3f616f(0xd9))/0x6*(-parseInt(_0x3f616f(0xdb))/0x7)+-parseInt(_0x3f616f(0xdf))/0x8+parseInt(_0x3f616f(0xd7))/0x9*(-parseInt(_0x3f616f(0xd1))/0xa)+parseInt(_0x3f616f(0xe7))/0xb*(-parseInt(_0x3f616f(0xde))/0xc);if(_0x353f82===_0x43cfef)break;else _0x81837e['push'](_0x81837e['shift']());}catch(_0xb4a3f8){_0x81837e['push'](_0x81837e['shift']());}}}(a183_0x17ec,0x21981));import a183_0xdb2a3b from'node:path';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{materializeLocalProjectTemplate,materializeProjectTemplate}from'../../../commands/project/create/materialize-project-template.js';function a183_0x5e12(_0x37110f,_0x57ce6f){_0x37110f=_0x37110f-0xd1;const _0x17ec8f=a183_0x17ec();let _0x5e12d5=_0x17ec8f[_0x37110f];return _0x5e12d5;}function a183_0x17ec(){const _0x4844fa=['25948kRijfQ','copy','9407yYcmPm','26tLBLjU','787170iBZdCs','cwd','Project\x20template\x20created','2880856zDivmo','39hVeAQX','252470sqGfWF','error','source','info','now','version','18LFKmJt','Failed\x20to\x20copy\x20project\x20template','308364lutaVp','resolve','14sXzvPE','success','message','12XGbaiX','134824DfHERa'];a183_0x17ec=function(){return _0x4844fa;};return a183_0x17ec();}export async function copyProjectTemplate(_0x5a2909,_0x39e0fd,_0x5cb0fe){const _0x373eec=a183_0x5e12,_0x2c0bba=Date[_0x373eec(0xd5)](),_0x2e68ef=a183_0xdb2a3b[_0x373eec(0xda)](process[_0x373eec(0xe5)](),_0x5a2909);try{logger[_0x373eec(0xd4)](_0x373eec(0xe1),'Starting\x20project\x20template\x20creation',{'projectCode':_0x5a2909});const _0x36f845=_0x5cb0fe?await materializeLocalProjectTemplate(_0x5cb0fe,_0x2e68ef,_0x39e0fd):await materializeProjectTemplate(_0x2e68ef,_0x39e0fd),_0xa5f84b=Date[_0x373eec(0xd5)]()-_0x2c0bba;logger[_0x373eec(0xdc)](_0x373eec(0xe1),_0x373eec(0xe6),_0xa5f84b,{'projectCode':_0x5a2909,'templateSource':_0x36f845[_0x373eec(0xd3)],'templateVersion':_0x36f845[_0x373eec(0xd6)]});}catch(_0x2e13e6){const _0x491d20=Date[_0x373eec(0xd5)]()-_0x2c0bba;logger[_0x373eec(0xd2)](_0x373eec(0xe1),_0x373eec(0xd8),{'projectCode':_0x5a2909,'error':_0x2e13e6 instanceof Error?_0x2e13e6[_0x373eec(0xdd)]:String(_0x2e13e6),'duration':_0x491d20});throw _0x2e13e6;}return formatElapsed(_0x2c0bba);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a184_0x5d73(){const _0x46aedc=['48IPbamQ','824lxvexY','8933050YgFYUz','19744LGVWFx','58924pjGuTd','22335hmaKFo','message','resolve','4842CmpHdd','now','1351JEmHfY','1626420vFWrVH','Code\x20format\x20completed','format','39684wXUyVX','prettier','534900LMgSRu','Code\x20format\x20failed','cwd','success','121SsTxfk'];a184_0x5d73=function(){return _0x46aedc;};return a184_0x5d73();}(function(_0x2a83cc,_0x47ff25){const _0x3ce532=a184_0x3f38,_0x2a7a1f=_0x2a83cc();while(!![]){try{const _0x260c40=parseInt(_0x3ce532(0x1b3))/0x1*(-parseInt(_0x3ce532(0x1af))/0x2)+parseInt(_0x3ce532(0x1b4))/0x3*(parseInt(_0x3ce532(0x1b0))/0x4)+parseInt(_0x3ce532(0x1bf))/0x5+-parseInt(_0x3ce532(0x1bd))/0x6*(-parseInt(_0x3ce532(0x1b9))/0x7)+-parseInt(_0x3ce532(0x1b2))/0x8*(parseInt(_0x3ce532(0x1b7))/0x9)+-parseInt(_0x3ce532(0x1b1))/0xa+parseInt(_0x3ce532(0x1ae))/0xb*(parseInt(_0x3ce532(0x1ba))/0xc);if(_0x260c40===_0x47ff25)break;else _0x2a7a1f['push'](_0x2a7a1f['shift']());}catch(_0x4f8262){_0x2a7a1f['push'](_0x2a7a1f['shift']());}}}(a184_0x5d73,0xbcaa4));import a184_0x24c345 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a184_0x3f38(_0x15b766,_0x1516ec){_0x15b766=_0x15b766-0x1ae;const _0x5d73c0=a184_0x5d73();let _0x3f387f=_0x5d73c0[_0x15b766];return _0x3f387f;}import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x53330c){const _0x59595c=a184_0x3f38,_0x37e657=Date[_0x59595c(0x1b8)](),_0x406988=a184_0x24c345[_0x59595c(0x1b6)](process[_0x59595c(0x1c1)](),_0x53330c);try{logger['info'](_0x59595c(0x1bc),'Starting\x20code\x20format',{'projectCode':_0x53330c}),await execa(resolveNpmBin('npx'),[_0x59595c(0x1be),'--write','.'],{'cwd':_0x406988});const _0x39d953=Date[_0x59595c(0x1b8)]()-_0x37e657;logger[_0x59595c(0x1c2)]('format',_0x59595c(0x1bb),_0x39d953,{'projectCode':_0x53330c});}catch(_0x58c323){const _0x25ef13=Date[_0x59595c(0x1b8)]()-_0x37e657;logger['error'](_0x59595c(0x1bc),_0x59595c(0x1c0),{'projectCode':_0x53330c,'error':_0x58c323 instanceof Error?_0x58c323[_0x59595c(0x1b5)]:String(_0x58c323),'duration':_0x25ef13});throw _0x58c323;}return formatElapsed(_0x37e657);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4a05c2,_0x4326e6){const _0x5a0fcf=a185_0x2b0b,_0x45c595=_0x4a05c2();while(!![]){try{const _0x1fea40=-parseInt(_0x5a0fcf(0x164))/0x1*(-parseInt(_0x5a0fcf(0x165))/0x2)+-parseInt(_0x5a0fcf(0x16e))/0x3+parseInt(_0x5a0fcf(0x166))/0x4*(parseInt(_0x5a0fcf(0x163))/0x5)+-parseInt(_0x5a0fcf(0x174))/0x6+parseInt(_0x5a0fcf(0x160))/0x7+-parseInt(_0x5a0fcf(0x16c))/0x8*(parseInt(_0x5a0fcf(0x16b))/0x9)+parseInt(_0x5a0fcf(0x16a))/0xa*(parseInt(_0x5a0fcf(0x167))/0xb);if(_0x1fea40===_0x4326e6)break;else _0x45c595['push'](_0x45c595['shift']());}catch(_0xa90b38){_0x45c595['push'](_0x45c595['shift']());}}}(a185_0x1954,0x9ed07));import a185_0x5491f0 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a185_0x2b0b(_0x5d0670,_0x8f1916){_0x5d0670=_0x5d0670-0x160;const _0x1954a2=a185_0x1954();let _0x2b0b17=_0x1954a2[_0x5d0670];return _0x2b0b17;}function a185_0x1954(){const _0x35473a=['Dependency\x20install\x20completed','1770114IWCkZz','npm','install','resolve','info','Starting\x20dependency\x20install','2623332CfnMsQ','message','now','5930274VZXklh','https://registry.npmmirror.com','Dependency\x20install\x20failed','10szyedU','1csioFo','1758668wMbbPh','1051844lOyWnu','11iofxjR','success','error','3886690SmbKPg','4335048LfPRiZ','16SaMAAB'];a185_0x1954=function(){return _0x35473a;};return a185_0x1954();}import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x39a165){const _0x21e43f=a185_0x2b0b,_0xb9e5ed=Date[_0x21e43f(0x176)](),_0x32145b=a185_0x5491f0[_0x21e43f(0x171)](process['cwd'](),_0x39a165);try{logger[_0x21e43f(0x172)](_0x21e43f(0x170),_0x21e43f(0x173),{'projectCode':_0x39a165,'registry':'https://registry.npmmirror.com'}),await execa(resolveNpmBin(_0x21e43f(0x16f)),[_0x21e43f(0x170),'--registry',_0x21e43f(0x161)],{'cwd':_0x32145b});const _0x182bf9=Date['now']()-_0xb9e5ed;logger[_0x21e43f(0x168)]('install',_0x21e43f(0x16d),_0x182bf9,{'projectCode':_0x39a165});}catch(_0x550fae){const _0x3f7a35=Date[_0x21e43f(0x176)]()-_0xb9e5ed;logger[_0x21e43f(0x169)]('install',_0x21e43f(0x162),{'projectCode':_0x39a165,'error':_0x550fae instanceof Error?_0x550fae[_0x21e43f(0x175)]:String(_0x550fae),'duration':_0x3f7a35});throw _0x550fae;}return formatElapsed(_0xb9e5ed);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a186_0x2930(_0x1bf93a,_0x307252){_0x1bf93a=_0x1bf93a-0x70;const _0x53a7a6=a186_0x53a7();let _0x2930d5=_0x53a7a6[_0x1bf93a];return _0x2930d5;}function a186_0x53a7(){const _0xf033e7=['validation','path','7095137VlrZQa','1686185IBTHbK','Run\x20','1001PopOWQ','2185165rvhWZF','108obPPkm','read','107952iumuBc','18OQxUYi','24EWeeIr','Domain\x20routing\x20synchronized:\x20','domain-routing-sync','No\x20Rabetbase\x20project\x20configuration\x20was\x20found.','159370doBGxM','8ujYCIp','4623868SNzWWG','46239trEZdP'];a186_0x53a7=function(){return _0xf033e7;};return a186_0x53a7();}const a186_0x497a28=a186_0x2930;(function(_0x37d2fe,_0x3e67c6){const _0x316cfd=a186_0x2930,_0x2e2ea1=_0x37d2fe();while(!![]){try{const _0x4ad64d=-parseInt(_0x316cfd(0x75))/0x1+-parseInt(_0x316cfd(0x7d))/0x2*(parseInt(_0x316cfd(0x71))/0x3)+parseInt(_0x316cfd(0x70))/0x4+-parseInt(_0x316cfd(0x78))/0x5*(-parseInt(_0x316cfd(0x7c))/0x6)+parseInt(_0x316cfd(0x74))/0x7*(parseInt(_0x316cfd(0x82))/0x8)+-parseInt(_0x316cfd(0x79))/0x9*(-parseInt(_0x316cfd(0x81))/0xa)+parseInt(_0x316cfd(0x77))/0xb*(-parseInt(_0x316cfd(0x7b))/0xc);if(_0x4ad64d===_0x3e67c6)break;else _0x2e2ea1['push'](_0x2e2ea1['shift']());}catch(_0x3023d6){_0x2e2ea1['push'](_0x2e2ea1['shift']());}}}(a186_0x53a7,0xefc6c));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{findProjectRootDirectory,resolveConfigPath}from'../../context/config-loader.js';import{writeProjectDomainRoutingManifest}from'../../config/project-domain-routing.js';export const projectDomainRoutingSyncDefinition={'service':'project','command':a186_0x497a28(0x7f),'description':'Synchronize\x20the\x20current\x20project\x27s\x20public\x20Domain\x20routing','risk':a186_0x497a28(0x7a),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],async 'execute'(){const _0x4f4204=a186_0x497a28,_0x4dd082=findProjectRootDirectory();if(!resolveConfigPath(_0x4dd082))throw CliErrors[_0x4f4204(0x72)](_0x4f4204(0x80),_0x4f4204(0x76)+CLI_BIN_NAME+'\x20workspace\x20init\x20--appcode\x20<code>\x20in\x20the\x20project\x20directory\x20first.');const _0x1f6dce=writeProjectDomainRoutingManifest(_0x4dd082);return{'ok':!![],'message':_0x4f4204(0x7e)+_0x1f6dce[_0x4f4204(0x73)],'data':_0x1f6dce};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a187_0x2e66(_0x465147,_0x13a9ee){_0x465147=_0x465147-0x1de;const _0x15ff83=a187_0x15ff();let _0x2e6614=_0x15ff83[_0x465147];return _0x2e6614;}const a187_0x530504=a187_0x2e66;(function(_0x409814,_0x3e28e0){const _0x13b991=a187_0x2e66,_0x3386b8=_0x409814();while(!![]){try{const _0x4d064b=parseInt(_0x13b991(0x1df))/0x1+-parseInt(_0x13b991(0x1f4))/0x2*(parseInt(_0x13b991(0x1f6))/0x3)+-parseInt(_0x13b991(0x205))/0x4*(-parseInt(_0x13b991(0x1eb))/0x5)+-parseInt(_0x13b991(0x200))/0x6+-parseInt(_0x13b991(0x1e3))/0x7*(parseInt(_0x13b991(0x1f8))/0x8)+parseInt(_0x13b991(0x1fd))/0x9*(-parseInt(_0x13b991(0x1de))/0xa)+parseInt(_0x13b991(0x1f2))/0xb*(parseInt(_0x13b991(0x1ec))/0xc);if(_0x4d064b===_0x3e28e0)break;else _0x3386b8['push'](_0x3386b8['shift']());}catch(_0x616afe){_0x3386b8['push'](_0x3386b8['shift']());}}}(a187_0x15ff,0xadc14));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{upgradeApp}from'../../commands/project/upgrade.js';import{projectDomainRoutingSyncDefinition}from'../../commands/project/domain-routing-sync.js';function a187_0x15ff(){const _0x52ff25=['args','658BEdxif','project-name','Target\x20environment','write','appcode','yes','cookie','template-source','2136615okMTUm','72tmcifY','../../commands/project/create/main.js','Usage:\x20','Run\x20','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]\x20or\x20','trim','1710071ufkrea','\x20project\x20create\x20--current-dir\x20[--appcode\x20<code>]\x20from\x20the\x20empty\x20target\x20directory.','751670qfjTTH','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','6dtrnfg','project','19048XNwmji','\x20project\x20create\x20--current-dir\x20[--appcode\x20<code>]','str','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','Create\x20a\x20new\x20project','9GGTEtR','bool','current-dir','455676NydQHR','string','validation','env','upgrade','4tUmHyd','5503610OIRPoN','953402EfrSCb','Initialize\x20the\x20current\x20empty\x20directory\x20instead\x20of\x20creating\x20a\x20child\x20directory','nonInteractive'];a187_0x15ff=function(){return _0x52ff25;};return a187_0x15ff();}const createFlags=[{'name':'name','type':'string','description':'Project\x20name'},{'name':'env','type':a187_0x530504(0x201),'description':a187_0x530504(0x1e5)},{'name':'appcode','type':a187_0x530504(0x201),'description':a187_0x530504(0x1fb)},{'name':a187_0x530504(0x1ff),'type':'boolean','description':a187_0x530504(0x1e0),'default':![]},{'name':a187_0x530504(0x1ea),'type':a187_0x530504(0x201),'description':'Prepared\x20local\x20project\x20template\x20directory'}],upgradeFlags=[{'name':a187_0x530504(0x1e8),'type':'boolean','description':'Skip\x20confirmation\x20prompt','default':![]}];export const projectDefinitions=[{'service':'project','command':'create','description':a187_0x530504(0x1fc),'risk':a187_0x530504(0x1e6),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a187_0x530504(0x1e4),'description':a187_0x530504(0x1f5),'required':![]}],'flags':createFlags,async 'execute'(_0x4fed31){const _0x2f8f02=a187_0x530504,{createApp:_0x4e02c2}=await import(_0x2f8f02(0x1ed)),_0x1a661f=_0x4fed31[_0x2f8f02(0x1fa)]('name')[_0x2f8f02(0x1f1)]()||_0x4fed31[_0x2f8f02(0x1e2)][0x0]?.[_0x2f8f02(0x1f1)](),_0x426d46=_0x4fed31[_0x2f8f02(0x1fa)](_0x2f8f02(0x203))||undefined,_0x4b0415=_0x4fed31[_0x2f8f02(0x1fa)](_0x2f8f02(0x1e7))||undefined,_0x625455=_0x4fed31[_0x2f8f02(0x1fa)](_0x2f8f02(0x1ea))['trim']()||undefined,_0x35ea0b=_0x4fed31[_0x2f8f02(0x1fe)]('current-dir');if(_0x35ea0b&&_0x1a661f)throw CliErrors[_0x2f8f02(0x202)]('--current-dir\x20cannot\x20be\x20combined\x20with\x20a\x20project\x20name.',_0x2f8f02(0x1ef)+CLI_BIN_NAME+_0x2f8f02(0x1f3));if(_0x4fed31[_0x2f8f02(0x1e1)]){if(!_0x1a661f&&!_0x35ea0b)throw CliErrors[_0x2f8f02(0x202)]('Non-interactive\x20mode\x20requires\x20a\x20project\x20name.',_0x2f8f02(0x1ee)+CLI_BIN_NAME+_0x2f8f02(0x1f0)+CLI_BIN_NAME+_0x2f8f02(0x1f9));await _0x4e02c2({'projectCode':_0x1a661f,'appCode':_0x4b0415,'env':_0x426d46,'cookie':_0x4fed31[_0x2f8f02(0x1e9)],'currentDir':_0x35ea0b,'nonInteractive':!![],'templateSource':_0x625455});}else await _0x4e02c2({'projectCode':_0x1a661f,'appCode':_0x4b0415,'env':_0x426d46,'cookie':_0x4fed31[_0x2f8f02(0x1e9)],'currentDir':_0x35ea0b,'templateSource':_0x625455});return{'ok':!![]};}},projectDomainRoutingSyncDefinition,{'service':a187_0x530504(0x1f7),'command':a187_0x530504(0x204),'description':'Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','risk':a187_0x530504(0x1e6),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0xdcff49){const _0x3a5103=a187_0x530504;return await upgradeApp(_0xdcff49[_0x3a5103(0x1e1)],{'yes':_0xdcff49[_0x3a5103(0x1fe)](_0x3a5103(0x1e8))}),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a190_0x352005=a190_0x24c2;(function(_0x5346b6,_0x307ea9){const _0x4675b1=a190_0x24c2,_0x4adc4b=_0x5346b6();while(!![]){try{const _0x48889e=parseInt(_0x4675b1(0xd1))/0x1+-parseInt(_0x4675b1(0xe1))/0x2+parseInt(_0x4675b1(0x100))/0x3*(-parseInt(_0x4675b1(0xec))/0x4)+parseInt(_0x4675b1(0x97))/0x5*(-parseInt(_0x4675b1(0x8a))/0x6)+parseInt(_0x4675b1(0xc0))/0x7+-parseInt(_0x4675b1(0xca))/0x8+parseInt(_0x4675b1(0xdf))/0x9;if(_0x48889e===_0x307ea9)break;else _0x4adc4b['push'](_0x4adc4b['shift']());}catch(_0x593203){_0x4adc4b['push'](_0x4adc4b['shift']());}}}(a190_0x3429,0xaceed));import a190_0x52a7b6 from'chalk';import a190_0xd85a8e from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';function a190_0x24c2(_0x234748,_0x5b352e){_0x234748=_0x234748-0x87;const _0x34290d=a190_0x3429();let _0x24c2f5=_0x34290d[_0x234748];return _0x24c2f5;}import{NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=[a190_0x352005(0xf5),a190_0x352005(0xcd)];function collectIdeSkillFiles(_0x8a8f77){const _0x25ea8b=a190_0x352005,_0xf3c556=[];for(const _0x38596a of Object[_0x25ea8b(0xf3)](CORE_IDE_CONFIGS)){if(_0x38596a[_0x25ea8b(0xea)])for(const _0x2fd233 of _0x38596a[_0x25ea8b(0xea)]){_0xf3c556[_0x25ea8b(0xc2)](resolve(_0x8a8f77,_0x2fd233[_0x25ea8b(0xb2)]));}}return _0xf3c556;}function a190_0x3429(){const _0x45cf95=['Upgrade\x20@lovrabet/sdk','latest','1174789nhzigJ','Install\x20new\x20skill','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','done','Config\x20file:','@lovrabet/sdk','yellow','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','includes','stringify','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','keys','Step\x201/7:\x20Config\x20migration\x20—\x20','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','1855278bHpeCM','===\x20Upgrade\x20Analysis\x20===','570476KmrHbI','isArray','devDependencies','status','cwd','removed\x20','@lovrabet/sdk:','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','isDirectory','files','no\x20legacy\x20entry','966796HVIKRL','step','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','failed','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','Config\x20migration','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','values','red','.lovrabet.json','some','.cursor/mcp.json','[\x22@lovrabet/sdk\x22]:\x20','length','Clean\x20MCP\x20config','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','parse','start','no\x20legacy\x20config\x20found','needsSkillSwap','3nvjnHV','info','.claude/skills/lovrabet','\x20\x20#\x20or','752724QvNLDp','MCP\x20config:','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','Upgrade\x20cancelled.','\x20\x20New\x20config\x20(.rabetbase.json):\x20','dependencies','gray','Step\x206/7:\x20Installing\x20new\x20skill...','Upgrade\x20completed\x20successfully!','oldPath','\x20\x20Action:\x20delete','oldMcpConfig','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','55VoCNLq','.cursor/rules/lovrabet_rules.mdc','Legacy\x20artifacts:','not\x20found\x20or\x20already\x20at\x20latest','log','label','Remove\x20.lovrabet/','not\x20needed','entries','oldArtifacts','bold','\x20→\x20','join','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','not\x20found\x20(will\x20create)','Remove\x20legacy\x20artifacts','inherit','args','hasNewConfig','green','message','\x20\x20npm\x20install','Step\x204/7:\x20MCP\x20config\x20—\x20','\x20(backup:\x20','.bak','yes','fields','path','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','string','.lovrabet','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','utf8','exit\x20','sdkUpgrade','FAIL','cyan','detail','Step\x205/7:\x20Removing\x20old\x20skill...','object','Step\x204/7:\x20Cleaning\x20MCP\x20config...','9467528PMEexx','mcpServers','push','\x20\x20Fields\x20to\x20migrate:\x20','\x20→\x20keys:\x20','succeed','\x20→\x20latest','fail','error','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','945368Ltvoht','\x20\x20Current\x20version\x20in\x20','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','.lovrabetrc','white'];a190_0x3429=function(){return _0x45cf95;};return a190_0x3429();}function analyse(_0x19449d){const _0x198fd9=a190_0x352005;let _0x1535c4=null;const _0x35fe68=resolve(_0x19449d,NEW_CONFIG_NAME),_0x5925ee=existsSync(_0x35fe68);for(const _0x1d57e0 of LEGACY_CONFIG_NAMES){const _0x36fb9d=resolve(_0x19449d,_0x1d57e0);if(existsSync(_0x36fb9d)){const _0x31144d=readConfigFile(_0x36fb9d),_0x5e4c64=Object['keys'](_0x31144d)['filter'](_0x1b5b9e=>typeof _0x31144d[_0x1b5b9e]!=='undefined');_0x1535c4={'oldPath':_0x36fb9d,'hasNewConfig':_0x5925ee,'fields':_0x5e4c64};break;}}const _0x39ecdc=[],_0x2b4210=resolve(_0x19449d,_0x198fd9(0xb5));if(existsSync(_0x2b4210))_0x39ecdc[_0x198fd9(0xc2)](_0x2b4210);const _0x507d41=resolve(_0x19449d,_0x198fd9(0x98));if(existsSync(_0x507d41))_0x39ecdc['push'](_0x507d41);const _0x29fbff=resolve(_0x19449d,_0x198fd9(0x88));if(existsSync(_0x29fbff))_0x39ecdc[_0x198fd9(0xc2)](_0x29fbff);for(const _0x485ef0 of collectIdeSkillFiles(_0x19449d)){if(existsSync(_0x485ef0))_0x39ecdc[_0x198fd9(0xc2)](_0x485ef0);}let _0x447792=null;const _0x328784=resolve(_0x19449d,_0x198fd9(0xf7));if(existsSync(_0x328784))try{const _0x14f94f=JSON[_0x198fd9(0xfc)](readFileSync(_0x328784,_0x198fd9(0xb7)));if(_0x14f94f?.[_0x198fd9(0xc1)]&&typeof _0x14f94f['mcpServers']===_0x198fd9(0xbe)){const _0x88fabb=[];for(const [_0x90d99c,_0x59aa4]of Object[_0x198fd9(0x9f)](_0x14f94f['mcpServers'])){const _0x59ea7b=_0x59aa4;_0x59ea7b?.[_0x198fd9(0xa8)]&&Array[_0x198fd9(0xe2)](_0x59ea7b[_0x198fd9(0xa8)])&&_0x59ea7b[_0x198fd9(0xa8)]['some'](_0x32e3ec=>typeof _0x32e3ec===_0x198fd9(0xb4)&&_0x32e3ec[_0x198fd9(0xd9)]('@lovrabet/dataset-mcp-server'))&&_0x88fabb[_0x198fd9(0xc2)](_0x90d99c);}_0x88fabb[_0x198fd9(0xf9)]>0x0&&(_0x447792={'path':_0x328784,'keys':_0x88fabb});}}catch{}const _0x6619bd=_0x39ecdc[_0x198fd9(0xf9)]>0x0||_0x1535c4!==null;let _0x22f7ab=null;const _0x3f7de6=resolve(_0x19449d,'package.json');if(existsSync(_0x3f7de6))try{const _0x1bada1=JSON['parse'](readFileSync(_0x3f7de6,_0x198fd9(0xb7)));for(const _0x537e3b of[_0x198fd9(0x8f),_0x198fd9(0xe3)]){const _0x9b16bb=_0x1bada1?.[_0x537e3b]?.['@lovrabet/sdk'];if(typeof _0x9b16bb==='string'){_0x9b16bb!==_0x198fd9(0xd0)&&(_0x22f7ab={'pkgPath':_0x3f7de6,'currentVersion':_0x9b16bb,'field':_0x537e3b});break;}}}catch{}return{'configMigration':_0x1535c4,'oldArtifacts':_0x39ecdc,'oldMcpConfig':_0x447792,'needsSkillSwap':_0x6619bd,'sdkUpgrade':_0x22f7ab};}function printReport(_0x126e54){const _0x41a66b=a190_0x352005,{configMigration:_0xbd0f40,oldArtifacts:_0x529215,oldMcpConfig:_0x1d5cfc,needsSkillSwap:_0x51893e}=_0x126e54;console[_0x41a66b(0x9b)](''),console[_0x41a66b(0x9b)](a190_0x52a7b6[_0x41a66b(0xa1)](_0x41a66b(0xe0))),console[_0x41a66b(0x9b)]('');_0xbd0f40?(console[_0x41a66b(0x9b)](a190_0x52a7b6[_0x41a66b(0xbb)](_0x41a66b(0xd5))+('\x20\x20'+a190_0x52a7b6[_0x41a66b(0xd7)](_0xbd0f40[_0x41a66b(0x93)]))),console['log'](_0x41a66b(0x8e)+(_0xbd0f40[_0x41a66b(0xa9)]?a190_0x52a7b6[_0x41a66b(0xaa)]('already\x20exists\x20(will\x20merge)'):a190_0x52a7b6[_0x41a66b(0x90)](_0x41a66b(0xa5)))),console[_0x41a66b(0x9b)](_0x41a66b(0xc3)+_0xbd0f40[_0x41a66b(0xb1)]['join'](',\x20')),console[_0x41a66b(0x9b)](_0x41a66b(0xd8))):console[_0x41a66b(0x9b)](a190_0x52a7b6[_0x41a66b(0xbb)](_0x41a66b(0xd5))+'\x20\x20'+a190_0x52a7b6[_0x41a66b(0x90)](_0x41a66b(0xfe)));console[_0x41a66b(0x9b)]('');if(_0x529215[_0x41a66b(0xf9)]>0x0){console[_0x41a66b(0x9b)](a190_0x52a7b6[_0x41a66b(0xbb)](_0x41a66b(0x99)));for(const _0x529366 of _0x529215){console[_0x41a66b(0x9b)]('\x20\x20'+a190_0x52a7b6[_0x41a66b(0xf4)]('FOUND')+'\x20\x20'+_0x529366);}console[_0x41a66b(0x9b)](_0x41a66b(0x94));}else console[_0x41a66b(0x9b)](a190_0x52a7b6['cyan'](_0x41a66b(0x99))+'\x20\x20'+a190_0x52a7b6[_0x41a66b(0x90)]('none\x20found'));console['log']('');_0x1d5cfc?(console['log'](a190_0x52a7b6[_0x41a66b(0xbb)](_0x41a66b(0x8b))+('\x20\x20'+a190_0x52a7b6[_0x41a66b(0xd7)](_0x1d5cfc[_0x41a66b(0xb2)])+_0x41a66b(0xc4)+_0x1d5cfc[_0x41a66b(0xdc)][_0x41a66b(0xa3)](',\x20'))),console['log'](_0x41a66b(0xb3))):console['log'](a190_0x52a7b6[_0x41a66b(0xbb)](_0x41a66b(0x8b))+'\x20\x20'+a190_0x52a7b6[_0x41a66b(0x90)](_0x41a66b(0xeb)));console[_0x41a66b(0x9b)](''),console[_0x41a66b(0x9b)](a190_0x52a7b6[_0x41a66b(0xbb)]('Skill\x20swap:')+('\x20\x20'+(_0x51893e?a190_0x52a7b6[_0x41a66b(0xd7)]('needed'):a190_0x52a7b6['green'](_0x41a66b(0x9e)))));_0x51893e&&console[_0x41a66b(0x9b)](_0x41a66b(0x8c)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x41a66b(0x9b)]('');if(_0x126e54[_0x41a66b(0xb9)]){const {currentVersion:_0x3cdb66,field:_0x423dbd,pkgPath:_0x546752}=_0x126e54[_0x41a66b(0xb9)];console['log'](a190_0x52a7b6[_0x41a66b(0xbb)](_0x41a66b(0xe7))+('\x20\x20'+a190_0x52a7b6[_0x41a66b(0xd7)](_0x546752))),console['log'](_0x41a66b(0xcb)+_0x423dbd+':\x20'+a190_0x52a7b6[_0x41a66b(0xd7)](_0x3cdb66)+_0x41a66b(0xa2)+a190_0x52a7b6['green'](_0x41a66b(0xd0))),console[_0x41a66b(0x9b)](_0x41a66b(0xde));}else console['log'](a190_0x52a7b6[_0x41a66b(0xbb)]('@lovrabet/sdk:')+'\x20\x20'+a190_0x52a7b6[_0x41a66b(0x90)](_0x41a66b(0x9a)));console[_0x41a66b(0x9b)]('');}function execConfigMigration(_0x182bb8,_0x3e8f88){const _0x468b6a=a190_0x352005,{configMigration:_0x17ccfe}=_0x182bb8;if(!_0x17ccfe?.[_0x468b6a(0x93)])return{'step':0x1,'label':_0x468b6a(0xf1),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x43e05f=readConfigFile(_0x17ccfe[_0x468b6a(0x93)]),_0x18b22c=resolve(_0x3e8f88,NEW_CONFIG_NAME),_0x2de474=_0x17ccfe[_0x468b6a(0xa9)]?readConfigFile(_0x18b22c):{};for(const [_0x161885,_0x3c05db]of Object[_0x468b6a(0x9f)](_0x43e05f)){!(_0x161885 in _0x2de474)&&(_0x2de474[_0x161885]=_0x3c05db);}writeConfigFile(_0x18b22c,_0x2de474);const _0x2ea930=_0x17ccfe['oldPath']+_0x468b6a(0xaf);return renameSync(_0x17ccfe[_0x468b6a(0x93)],_0x2ea930),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x17ccfe['oldPath']+_0x468b6a(0xa2)+_0x18b22c+_0x468b6a(0xae)+_0x2ea930+')'};}function execRemoveOldArtifacts(_0x1398fe){const _0x5a2876=a190_0x352005,_0x4a121c=[];for(const _0x555116 of _0x1398fe){try{if(!existsSync(_0x555116))continue;const _0xa195ad=tryStat(_0x555116);_0xa195ad?.[_0x5a2876(0xe9)]()?rmSync(_0x555116,{'recursive':!![],'force':!![]}):unlinkSync(_0x555116);}catch(_0x5d573b){_0x4a121c[_0x5a2876(0xc2)](_0x555116+':\x20'+_0x5d573b[_0x5a2876(0xab)]);}}return{'step':0x3,'label':_0x5a2876(0xa6),'ok':_0x4a121c['length']===0x0,'detail':_0x4a121c[_0x5a2876(0xf9)]>0x0?_0x1398fe[_0x5a2876(0xf9)]-_0x4a121c[_0x5a2876(0xf9)]+'/'+_0x1398fe[_0x5a2876(0xf9)]+'\x20removed\x20('+_0x4a121c[_0x5a2876(0xa3)](';\x20')+')':_0x1398fe[_0x5a2876(0xf9)]+'\x20removed'};}function execCleanMcp(_0x34c5bd){const _0x17981a=a190_0x352005;if(!_0x34c5bd[_0x17981a(0x95)])return{'step':0x4,'label':_0x17981a(0xfa),'ok':!![],'detail':'skipped'};try{const _0x54a469=readFileSync(_0x34c5bd[_0x17981a(0x95)]['path'],_0x17981a(0xb7)),_0x370abb=JSON['parse'](_0x54a469);if(_0x370abb?.['mcpServers']&&typeof _0x370abb[_0x17981a(0xc1)]===_0x17981a(0xbe)){const _0x15c192=[];for(const [_0x73b9bb,_0x16afe0]of Object[_0x17981a(0x9f)](_0x370abb[_0x17981a(0xc1)])){_0x16afe0?.[_0x17981a(0xa8)]&&Array[_0x17981a(0xe2)](_0x16afe0[_0x17981a(0xa8)])&&_0x16afe0[_0x17981a(0xa8)][_0x17981a(0xf6)](_0x14813=>typeof _0x14813===_0x17981a(0xb4)&&_0x14813[_0x17981a(0xd9)]('@lovrabet/dataset-mcp-server'))&&_0x15c192[_0x17981a(0xc2)](_0x73b9bb);}for(const _0x38c7c7 of _0x15c192){delete _0x370abb['mcpServers'][_0x38c7c7];}return _0x15c192['length']>0x0&&writeFileSync(_0x34c5bd[_0x17981a(0x95)]['path'],JSON[_0x17981a(0xda)](_0x370abb,null,0x2)+'\x0a',_0x17981a(0xb7)),{'step':0x4,'label':_0x17981a(0xfa),'ok':!![],'detail':_0x17981a(0xe6)+_0x15c192[_0x17981a(0xa3)](',\x20')+'\x20from\x20'+_0x34c5bd[_0x17981a(0x95)][_0x17981a(0xb2)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x48ca3b){return{'step':0x4,'label':_0x17981a(0xfa),'ok':![],'detail':_0x48ca3b[_0x17981a(0xab)]};}}function execSkillsRemove(_0x4a7c75,_0x2b57cc){const _0x146e70=a190_0x352005,_0x28b88b=runNpxSkillsRemove(_0x4a7c75,{'stdio':'inherit','yes':_0x2b57cc});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x28b88b['ok'],'detail':_0x28b88b['ok']?'lovrabet/lovrabet-skill\x20removed':_0x28b88b[_0x146e70(0xc8)]??_0x146e70(0xb8)+_0x28b88b[_0x146e70(0xe4)]};}function execSkillsAdd(_0x41c3de,_0x32069d){const _0x4f8d79=a190_0x352005,_0x3dc78b=runNpxSkillsAddGlobal(_0x41c3de,'lovrabet/rabetbase',{'stdio':_0x4f8d79(0xa7),'yes':_0x32069d});return{'step':0x6,'label':_0x4f8d79(0xd2),'ok':_0x3dc78b['ok'],'detail':_0x3dc78b['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x3dc78b[_0x4f8d79(0xc8)]??_0x4f8d79(0xb8)+_0x3dc78b['status']};}function execUpgradeSdk(_0x3ce974){const _0x19e93a=a190_0x352005;if(!_0x3ce974[_0x19e93a(0xb9)])return{'step':0x7,'label':_0x19e93a(0xcf),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x30b3c9,currentVersion:_0x3a0ee3,field:_0x20b836}=_0x3ce974['sdkUpgrade'];try{const _0x5082e1=readFileSync(_0x30b3c9,_0x19e93a(0xb7)),_0x573f2d=JSON[_0x19e93a(0xfc)](_0x5082e1);return _0x573f2d[_0x20b836][_0x19e93a(0xd6)]=_0x19e93a(0xd0),writeFileSync(_0x30b3c9,JSON[_0x19e93a(0xda)](_0x573f2d,null,0x2)+'\x0a',_0x19e93a(0xb7)),{'step':0x7,'label':_0x19e93a(0xcf),'ok':!![],'detail':_0x20b836+_0x19e93a(0xf8)+_0x3a0ee3+_0x19e93a(0xc6)};}catch(_0x1d4a14){return{'step':0x7,'label':_0x19e93a(0xcf),'ok':![],'detail':_0x1d4a14[_0x19e93a(0xab)]};}}function tryStat(_0x10ae85){try{return statSync(_0x10ae85);}catch{return undefined;}}function printSummary(_0x52f307){const _0x449458=a190_0x352005;console['log'](''),console[_0x449458(0x9b)](a190_0x52a7b6[_0x449458(0xa1)]('===\x20Upgrade\x20Summary\x20===')),console[_0x449458(0x9b)]('');for(const _0x44c6ce of _0x52f307){const _0x251a53=_0x44c6ce['ok']?a190_0x52a7b6[_0x449458(0xaa)]('OK'):a190_0x52a7b6[_0x449458(0xf4)](_0x449458(0xba));console[_0x449458(0x9b)]('\x20\x20'+_0x251a53+'\x20\x20Step\x20'+_0x44c6ce[_0x449458(0xed)]+':\x20'+_0x44c6ce[_0x449458(0x9c)]);if(_0x44c6ce[_0x449458(0xbc)])console['log']('\x20\x20\x20\x20\x20\x20\x20'+a190_0x52a7b6[_0x449458(0x90)](_0x44c6ce[_0x449458(0xbc)]));}console[_0x449458(0x9b)]('');}export async function upgradeApp(_0x33598b,_0x14f240){const _0x369028=a190_0x352005,_0xc2560b=process[_0x369028(0xe5)](),_0x2b549d=analyse(_0xc2560b),_0x435477=!_0x2b549d['configMigration']&&_0x2b549d[_0x369028(0xa0)][_0x369028(0xf9)]===0x0&&!_0x2b549d['oldMcpConfig']&&!_0x2b549d[_0x369028(0xff)]&&!_0x2b549d['sdkUpgrade'];if(_0x435477){console['log'](a190_0x52a7b6[_0x369028(0xaa)](_0x369028(0xcc)));return;}printReport(_0x2b549d);const _0x29e22a=!!(_0x14f240[_0x369028(0xb0)]||_0x14f240['Y']||_0x33598b);if(!_0x29e22a)try{const _0x35840a=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x35840a){console[_0x369028(0x9b)](a190_0x52a7b6[_0x369028(0x90)](_0x369028(0x8d)));return;}}catch(_0x6fc536){if(_0x6fc536?.['message']==='CANCEL'){console[_0x369028(0x9b)](a190_0x52a7b6['gray'](_0x369028(0x8d)));return;}throw _0x6fc536;}const _0x27746c=[],_0x17de8f=a190_0xd85a8e({'text':'Step\x201/7:\x20Migrating\x20config...','color':'cyan'})['start'](),_0x2ff891=execConfigMigration(_0x2b549d,_0xc2560b);_0x27746c['push'](_0x2ff891),_0x17de8f[_0x2ff891['ok']?_0x369028(0xc5):_0x369028(0xc7)](_0x369028(0xdd)+(_0x2ff891[_0x369028(0xbc)]??(_0x2ff891['ok']?_0x369028(0xd4):_0x369028(0xef))));const _0x13d36d=resolve(_0xc2560b,_0x369028(0xb5)),_0x1d6b22=a190_0xd85a8e({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0x369028(0xbb)})['start']();if(existsSync(_0x13d36d))try{rmSync(_0x13d36d,{'recursive':!![],'force':!![]}),_0x1d6b22[_0x369028(0xc5)]('Step\x202/7:\x20.lovrabet/\x20directory\x20removed'),_0x27746c[_0x369028(0xc2)]({'step':0x2,'label':_0x369028(0x9d),'ok':!![]});}catch(_0x19ceb5){_0x1d6b22[_0x369028(0xc7)](_0x369028(0xc9)+_0x19ceb5[_0x369028(0xab)]),_0x27746c[_0x369028(0xc2)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x19ceb5[_0x369028(0xab)]});}else _0x1d6b22[_0x369028(0x87)](_0x369028(0x96)),_0x27746c[_0x369028(0xc2)]({'step':0x2,'label':_0x369028(0x9d),'ok':!![],'detail':'skipped'});const _0x1c49bb=a190_0xd85a8e({'text':_0x369028(0xa4),'color':'cyan'})[_0x369028(0xfd)](),_0x102120=execRemoveOldArtifacts(_0x2b549d[_0x369028(0xa0)]);_0x27746c[_0x369028(0xc2)](_0x102120),_0x1c49bb[_0x102120['ok']?_0x369028(0xc5):_0x369028(0xc7)](_0x369028(0xb6)+(_0x102120[_0x369028(0xbc)]??(_0x102120['ok']?_0x369028(0xd4):_0x369028(0xef))));const _0xc01cb7=a190_0xd85a8e({'text':_0x369028(0xbf),'color':'cyan'})[_0x369028(0xfd)](),_0x5da8e7=execCleanMcp(_0x2b549d);_0x27746c[_0x369028(0xc2)](_0x5da8e7),_0xc01cb7[_0x5da8e7['ok']?'succeed':'fail'](_0x369028(0xad)+(_0x5da8e7[_0x369028(0xbc)]??(_0x5da8e7['ok']?_0x369028(0xd4):_0x369028(0xef))));const _0x561031=a190_0xd85a8e({'text':_0x369028(0xbd),'color':_0x369028(0xbb)})[_0x369028(0xfd)](),_0x12b23e=execSkillsRemove(_0xc2560b,_0x29e22a);_0x27746c[_0x369028(0xc2)](_0x12b23e),_0x561031[_0x12b23e['ok']?'succeed':'fail'](_0x369028(0xfb)+(_0x12b23e['detail']??(_0x12b23e['ok']?_0x369028(0xd4):_0x369028(0xef))));const _0x35fdb1=a190_0xd85a8e({'text':_0x369028(0x91),'color':'cyan'})[_0x369028(0xfd)](),_0xcaedf7=execSkillsAdd(_0xc2560b,_0x29e22a);_0x27746c[_0x369028(0xc2)](_0xcaedf7),_0x35fdb1[_0xcaedf7['ok']?_0x369028(0xc5):_0x369028(0xc7)](_0x369028(0xd3)+(_0xcaedf7[_0x369028(0xbc)]??(_0xcaedf7['ok']?_0x369028(0xd4):'failed')));const _0x4402c2=a190_0xd85a8e({'text':_0x369028(0xe8),'color':_0x369028(0xbb)})[_0x369028(0xfd)](),_0x4ab13f=execUpgradeSdk(_0x2b549d);_0x27746c['push'](_0x4ab13f),_0x4402c2[_0x4ab13f['ok']?_0x369028(0xc5):_0x369028(0xc7)](_0x369028(0xdb)+(_0x4ab13f[_0x369028(0xbc)]??(_0x4ab13f['ok']?_0x369028(0xd4):'failed'))),printSummary(_0x27746c);const _0x36947f=_0x27746c[_0x369028(0xf6)](_0x881ec6=>!_0x881ec6['ok']);_0x36947f?console['log'](a190_0x52a7b6[_0x369028(0xd7)](_0x369028(0xee))):console[_0x369028(0x9b)](a190_0x52a7b6[_0x369028(0xaa)](_0x369028(0x92))),_0x4ab13f['ok']&&_0x2b549d[_0x369028(0xb9)]&&(console[_0x369028(0x9b)](''),console[_0x369028(0x9b)](a190_0x52a7b6[_0x369028(0xa1)][_0x369028(0xbb)](_0x369028(0xf2))),console[_0x369028(0x9b)](a190_0x52a7b6[_0x369028(0xbb)](_0x369028(0xf0))),console['log'](''),console[_0x369028(0x9b)](a190_0x52a7b6[_0x369028(0xce)](_0x369028(0xac))),console[_0x369028(0x9b)](a190_0x52a7b6[_0x369028(0xce)](_0x369028(0x89))),console[_0x369028(0x9b)](a190_0x52a7b6[_0x369028(0xce)]('\x20\x20bun\x20install')),console[_0x369028(0x9b)](''));}
|
|
1
|
+
const a188_0x48f01e=a188_0x204c;(function(_0x4f4831,_0x1385b9){const _0x1e6cfe=a188_0x204c,_0x238a9f=_0x4f4831();while(!![]){try{const _0x2041f9=parseInt(_0x1e6cfe(0x135))/0x1+parseInt(_0x1e6cfe(0x156))/0x2+parseInt(_0x1e6cfe(0x138))/0x3*(parseInt(_0x1e6cfe(0x19f))/0x4)+-parseInt(_0x1e6cfe(0x1a1))/0x5+-parseInt(_0x1e6cfe(0x141))/0x6+parseInt(_0x1e6cfe(0x196))/0x7+-parseInt(_0x1e6cfe(0x166))/0x8;if(_0x2041f9===_0x1385b9)break;else _0x238a9f['push'](_0x238a9f['shift']());}catch(_0xc6cf00){_0x238a9f['push'](_0x238a9f['shift']());}}}(a188_0x10e0,0x8e910));function a188_0x10e0(){const _0x5bcac4=['Legacy\x20artifacts:','isArray','Config\x20migration','gray','\x20from\x20','length','@lovrabet/sdk','Remove\x20.lovrabet/','args','white','string','3608444hLJZHq','Step\x206/7:\x20Installing\x20new\x20skill...','===\x20Upgrade\x20Analysis\x20===','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','succeed','.lovrabet','push','dependencies','Clean\x20MCP\x20config','1864EEcEoN','mcpServers','2010070MAAgjT','lovrabet/rabetbase\x20installed\x20globally','cyan','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','lovrabet/rabetbase','\x20\x20bun\x20install','Install\x20new\x20skill','Step\x204/7:\x20MCP\x20config\x20—\x20','.claude/skills/lovrabet','red','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','.cursor/mcp.json','.lovrabet.json','FOUND','isDirectory','bold','yellow','oldPath','1077369DTRtyp','cwd','configMigration','2487wnViNR','utf8','status','inherit','Upgrade\x20@lovrabet/sdk','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','already\x20exists\x20(will\x20merge)','undefined','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','6838674QoxkGw','needed','\x20→\x20','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','no\x20legacy\x20entry','done','info','\x20\x20npm\x20install','not\x20found\x20or\x20already\x20at\x20latest','join','entries','.bak','oldArtifacts','Step\x204/7:\x20Cleaning\x20MCP\x20config...','oldMcpConfig','[\x22@lovrabet/sdk\x22]:\x20','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','\x20removed\x20(','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','object','includes','809026qJPYUG','green','CANCEL','detail','no\x20legacy\x20config\x20found','error','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','Proceed\x20with\x20upgrade?','\x20\x20New\x20config\x20(.rabetbase.json):\x20','Remove\x20old\x20skill','skipped','filter','parse','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','===\x20Upgrade\x20Summary\x20===','2063544StsNAC','Remove\x20legacy\x20artifacts','\x20\x20Step\x20','Step\x205/7:\x20Removing\x20old\x20skill...','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','hasNewConfig','fail','some','Upgrade\x20cancelled.','.cursor/rules/lovrabet_rules.mdc','exit\x20','latest','yes','step','@lovrabet/sdk:','not\x20found\x20(will\x20create)','\x20→\x20latest','Config\x20file:','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','values','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','not\x20needed','log','message','devDependencies','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','files','\x20\x20#\x20or','failed','stringify','start','\x20\x20Fields\x20to\x20migrate:\x20','path','Skill\x20swap:','MCP\x20config:','label','sdkUpgrade'];a188_0x10e0=function(){return _0x5bcac4;};return a188_0x10e0();}import a188_0x5706cb from'chalk';import a188_0x4ab3f2 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=[a188_0x48f01e(0x12f),'.lovrabetrc'];function collectIdeSkillFiles(_0x529c54){const _0x35f344=a188_0x48f01e,_0x436248=[];for(const _0xbb1346 of Object[_0x35f344(0x179)](CORE_IDE_CONFIGS)){if(_0xbb1346[_0x35f344(0x180)])for(const _0xfe48df of _0xbb1346[_0x35f344(0x180)]){_0x436248[_0x35f344(0x19c)](resolve(_0x529c54,_0xfe48df[_0x35f344(0x186)]));}}return _0x436248;}function analyse(_0x56a23e){const _0x137199=a188_0x48f01e;let _0x187282=null;const _0x4048ac=resolve(_0x56a23e,NEW_CONFIG_NAME),_0x146514=existsSync(_0x4048ac);for(const _0x5c0c89 of LEGACY_CONFIG_NAMES){const _0x1432b3=resolve(_0x56a23e,_0x5c0c89);if(existsSync(_0x1432b3)){const _0x2eb247=readConfigFile(_0x1432b3),_0x5e0d9c=Object['keys'](_0x2eb247)[_0x137199(0x162)](_0x31c083=>typeof _0x2eb247[_0x31c083]!==_0x137199(0x13f));_0x187282={'oldPath':_0x1432b3,'hasNewConfig':_0x146514,'fields':_0x5e0d9c};break;}}const _0x2a8d96=[],_0x4e5c14=resolve(_0x56a23e,_0x137199(0x19b));if(existsSync(_0x4e5c14))_0x2a8d96['push'](_0x4e5c14);const _0x2001f0=resolve(_0x56a23e,_0x137199(0x16f));if(existsSync(_0x2001f0))_0x2a8d96[_0x137199(0x19c)](_0x2001f0);const _0x3da19a=resolve(_0x56a23e,_0x137199(0x12b));if(existsSync(_0x3da19a))_0x2a8d96[_0x137199(0x19c)](_0x3da19a);for(const _0x3ee67f of collectIdeSkillFiles(_0x56a23e)){if(existsSync(_0x3ee67f))_0x2a8d96[_0x137199(0x19c)](_0x3ee67f);}let _0x4114b3=null;const _0x4df02e=resolve(_0x56a23e,_0x137199(0x12e));if(existsSync(_0x4df02e))try{const _0x405453=JSON['parse'](readFileSync(_0x4df02e,_0x137199(0x139)));if(_0x405453?.[_0x137199(0x1a0)]&&typeof _0x405453['mcpServers']===_0x137199(0x154)){const _0x2218b9=[];for(const [_0x2793ba,_0xc44256]of Object['entries'](_0x405453[_0x137199(0x1a0)])){const _0x324c8a=_0xc44256;_0x324c8a?.[_0x137199(0x193)]&&Array['isArray'](_0x324c8a[_0x137199(0x193)])&&_0x324c8a[_0x137199(0x193)][_0x137199(0x16d)](_0x281587=>typeof _0x281587===_0x137199(0x195)&&_0x281587[_0x137199(0x155)]('@lovrabet/dataset-mcp-server'))&&_0x2218b9[_0x137199(0x19c)](_0x2793ba);}_0x2218b9[_0x137199(0x190)]>0x0&&(_0x4114b3={'path':_0x4df02e,'keys':_0x2218b9});}}catch{}const _0xca65d5=_0x2a8d96['length']>0x0||_0x187282!==null;let _0x74dbcc=null;const _0x11acc1=resolve(_0x56a23e,'package.json');if(existsSync(_0x11acc1))try{const _0x317ca0=JSON[_0x137199(0x163)](readFileSync(_0x11acc1,_0x137199(0x139)));for(const _0x5e9c92 of[_0x137199(0x19d),_0x137199(0x17e)]){const _0x4a1068=_0x317ca0?.[_0x5e9c92]?.['@lovrabet/sdk'];if(typeof _0x4a1068===_0x137199(0x195)){_0x4a1068!==_0x137199(0x171)&&(_0x74dbcc={'pkgPath':_0x11acc1,'currentVersion':_0x4a1068,'field':_0x5e9c92});break;}}}catch{}return{'configMigration':_0x187282,'oldArtifacts':_0x2a8d96,'oldMcpConfig':_0x4114b3,'needsSkillSwap':_0xca65d5,'sdkUpgrade':_0x74dbcc};}function printReport(_0x3e3742){const _0x5ef845=a188_0x48f01e,{configMigration:_0x12349b,oldArtifacts:_0x3d33d9,oldMcpConfig:_0x38d566,needsSkillSwap:_0x267507}=_0x3e3742;console[_0x5ef845(0x17c)](''),console['log'](a188_0x5706cb['bold'](_0x5ef845(0x198))),console[_0x5ef845(0x17c)]('');_0x12349b?(console[_0x5ef845(0x17c)](a188_0x5706cb[_0x5ef845(0x1a3)](_0x5ef845(0x177))+('\x20\x20'+a188_0x5706cb[_0x5ef845(0x133)](_0x12349b[_0x5ef845(0x134)]))),console[_0x5ef845(0x17c)](_0x5ef845(0x15f)+(_0x12349b[_0x5ef845(0x16b)]?a188_0x5706cb[_0x5ef845(0x157)](_0x5ef845(0x13e)):a188_0x5706cb[_0x5ef845(0x18e)](_0x5ef845(0x175)))),console[_0x5ef845(0x17c)](_0x5ef845(0x185)+_0x12349b['fields'][_0x5ef845(0x14a)](',\x20')),console[_0x5ef845(0x17c)](_0x5ef845(0x12d))):console[_0x5ef845(0x17c)](a188_0x5706cb[_0x5ef845(0x1a3)](_0x5ef845(0x177))+'\x20\x20'+a188_0x5706cb[_0x5ef845(0x18e)](_0x5ef845(0x15a)));console[_0x5ef845(0x17c)]('');if(_0x3d33d9[_0x5ef845(0x190)]>0x0){console[_0x5ef845(0x17c)](a188_0x5706cb['cyan']('Legacy\x20artifacts:'));for(const _0x1c8732 of _0x3d33d9){console[_0x5ef845(0x17c)]('\x20\x20'+a188_0x5706cb['red'](_0x5ef845(0x130))+'\x20\x20'+_0x1c8732);}console[_0x5ef845(0x17c)]('\x20\x20Action:\x20delete');}else console['log'](a188_0x5706cb['cyan'](_0x5ef845(0x18b))+'\x20\x20'+a188_0x5706cb[_0x5ef845(0x18e)]('none\x20found'));console[_0x5ef845(0x17c)]('');_0x38d566?(console[_0x5ef845(0x17c)](a188_0x5706cb[_0x5ef845(0x1a3)](_0x5ef845(0x188))+('\x20\x20'+a188_0x5706cb[_0x5ef845(0x133)](_0x38d566[_0x5ef845(0x186)])+'\x20→\x20keys:\x20'+_0x38d566['keys']['join'](',\x20'))),console[_0x5ef845(0x17c)](_0x5ef845(0x15c))):console['log'](a188_0x5706cb['cyan'](_0x5ef845(0x188))+'\x20\x20'+a188_0x5706cb[_0x5ef845(0x18e)](_0x5ef845(0x145)));console[_0x5ef845(0x17c)](''),console['log'](a188_0x5706cb[_0x5ef845(0x1a3)](_0x5ef845(0x187))+('\x20\x20'+(_0x267507?a188_0x5706cb[_0x5ef845(0x133)](_0x5ef845(0x142)):a188_0x5706cb[_0x5ef845(0x157)](_0x5ef845(0x17b)))));_0x267507&&console[_0x5ef845(0x17c)](_0x5ef845(0x164)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x5ef845(0x17c)]('');if(_0x3e3742[_0x5ef845(0x18a)]){const {currentVersion:_0x211216,field:_0x3832b1,pkgPath:_0x218a61}=_0x3e3742[_0x5ef845(0x18a)];console['log'](a188_0x5706cb['cyan'](_0x5ef845(0x174))+('\x20\x20'+a188_0x5706cb[_0x5ef845(0x133)](_0x218a61))),console[_0x5ef845(0x17c)]('\x20\x20Current\x20version\x20in\x20'+_0x3832b1+':\x20'+a188_0x5706cb[_0x5ef845(0x133)](_0x211216)+_0x5ef845(0x143)+a188_0x5706cb['green'](_0x5ef845(0x171))),console['log'](_0x5ef845(0x151));}else console[_0x5ef845(0x17c)](a188_0x5706cb[_0x5ef845(0x1a3)](_0x5ef845(0x174))+'\x20\x20'+a188_0x5706cb[_0x5ef845(0x18e)](_0x5ef845(0x149)));console[_0x5ef845(0x17c)]('');}function execConfigMigration(_0x31b67a,_0x542191){const _0x2b64cc=a188_0x48f01e,{configMigration:_0x493259}=_0x31b67a;if(!_0x493259?.['oldPath'])return{'step':0x1,'label':_0x2b64cc(0x18d),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x56f2da=readConfigFile(_0x493259[_0x2b64cc(0x134)]),_0x7c2e91=resolve(_0x542191,NEW_CONFIG_NAME),_0x3b5f24=_0x493259[_0x2b64cc(0x16b)]?readConfigFile(_0x7c2e91):{};for(const [_0x3dfc2a,_0xec4272]of Object[_0x2b64cc(0x14b)](_0x56f2da)){!(_0x3dfc2a in _0x3b5f24)&&(_0x3b5f24[_0x3dfc2a]=_0xec4272);}writeConfigFile(_0x7c2e91,_0x3b5f24);const _0xb3054b=_0x493259[_0x2b64cc(0x134)]+_0x2b64cc(0x14c);return renameSync(_0x493259[_0x2b64cc(0x134)],_0xb3054b),{'step':0x1,'label':_0x2b64cc(0x18d),'ok':!![],'detail':_0x493259['oldPath']+_0x2b64cc(0x143)+_0x7c2e91+'\x20(backup:\x20'+_0xb3054b+')'};}function execRemoveOldArtifacts(_0x4eb353){const _0x28a89f=a188_0x48f01e,_0x29f991=[];for(const _0x8dd0aa of _0x4eb353){try{if(!existsSync(_0x8dd0aa))continue;const _0x46f586=tryStat(_0x8dd0aa);_0x46f586?.[_0x28a89f(0x131)]()?rmSync(_0x8dd0aa,{'recursive':!![],'force':!![]}):unlinkSync(_0x8dd0aa);}catch(_0x3fe86b){_0x29f991[_0x28a89f(0x19c)](_0x8dd0aa+':\x20'+_0x3fe86b['message']);}}return{'step':0x3,'label':_0x28a89f(0x167),'ok':_0x29f991[_0x28a89f(0x190)]===0x0,'detail':_0x29f991[_0x28a89f(0x190)]>0x0?_0x4eb353[_0x28a89f(0x190)]-_0x29f991['length']+'/'+_0x4eb353[_0x28a89f(0x190)]+_0x28a89f(0x152)+_0x29f991[_0x28a89f(0x14a)](';\x20')+')':_0x4eb353[_0x28a89f(0x190)]+'\x20removed'};}function execCleanMcp(_0x499da6){const _0x4876ef=a188_0x48f01e;if(!_0x499da6[_0x4876ef(0x14f)])return{'step':0x4,'label':_0x4876ef(0x19e),'ok':!![],'detail':_0x4876ef(0x161)};try{const _0x3873b8=readFileSync(_0x499da6[_0x4876ef(0x14f)][_0x4876ef(0x186)],_0x4876ef(0x139)),_0x1ba115=JSON['parse'](_0x3873b8);if(_0x1ba115?.['mcpServers']&&typeof _0x1ba115[_0x4876ef(0x1a0)]===_0x4876ef(0x154)){const _0x3def7c=[];for(const [_0x1baa97,_0x403956]of Object[_0x4876ef(0x14b)](_0x1ba115[_0x4876ef(0x1a0)])){_0x403956?.[_0x4876ef(0x193)]&&Array[_0x4876ef(0x18c)](_0x403956[_0x4876ef(0x193)])&&_0x403956[_0x4876ef(0x193)][_0x4876ef(0x16d)](_0x486db6=>typeof _0x486db6==='string'&&_0x486db6['includes']('@lovrabet/dataset-mcp-server'))&&_0x3def7c[_0x4876ef(0x19c)](_0x1baa97);}for(const _0x31ac85 of _0x3def7c){delete _0x1ba115[_0x4876ef(0x1a0)][_0x31ac85];}return _0x3def7c[_0x4876ef(0x190)]>0x0&&writeFileSync(_0x499da6[_0x4876ef(0x14f)][_0x4876ef(0x186)],JSON[_0x4876ef(0x183)](_0x1ba115,null,0x2)+'\x0a',_0x4876ef(0x139)),{'step':0x4,'label':_0x4876ef(0x19e),'ok':!![],'detail':'removed\x20'+_0x3def7c[_0x4876ef(0x14a)](',\x20')+_0x4876ef(0x18f)+_0x499da6[_0x4876ef(0x14f)][_0x4876ef(0x186)]};}return{'step':0x4,'label':_0x4876ef(0x19e),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x51458c){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x51458c[_0x4876ef(0x17d)]};}}function a188_0x204c(_0x221e42,_0x10b707){_0x221e42=_0x221e42-0x12b;const _0x10e021=a188_0x10e0();let _0x204c25=_0x10e021[_0x221e42];return _0x204c25;}function execSkillsRemove(_0x50122d,_0x2b2ab7){const _0x43bf50=a188_0x48f01e,_0xac97d0=runNpxSkillsRemove(_0x50122d,{'stdio':_0x43bf50(0x13b),'yes':_0x2b2ab7});return{'step':0x5,'label':_0x43bf50(0x160),'ok':_0xac97d0['ok'],'detail':_0xac97d0['ok']?'lovrabet/lovrabet-skill\x20removed':_0xac97d0[_0x43bf50(0x15b)]??'exit\x20'+_0xac97d0[_0x43bf50(0x13a)]};}function execSkillsAdd(_0x3057c5,_0x3e30b4){const _0x178f97=a188_0x48f01e,_0x41f884=runNpxSkillsAddGlobal(_0x3057c5,_0x178f97(0x1a5),{'stdio':_0x178f97(0x13b),'yes':_0x3e30b4});return{'step':0x6,'label':_0x178f97(0x1a7),'ok':_0x41f884['ok'],'detail':_0x41f884['ok']?_0x178f97(0x1a2):_0x41f884[_0x178f97(0x15b)]??_0x178f97(0x170)+_0x41f884['status']};}function execUpgradeSdk(_0xbed579){const _0x23a64f=a188_0x48f01e;if(!_0xbed579['sdkUpgrade'])return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0x23a64f(0x17a)};const {pkgPath:_0x5d3a29,currentVersion:_0x210ee9,field:_0x5085d7}=_0xbed579[_0x23a64f(0x18a)];try{const _0x3af8fd=readFileSync(_0x5d3a29,_0x23a64f(0x139)),_0x1462d4=JSON[_0x23a64f(0x163)](_0x3af8fd);return _0x1462d4[_0x5085d7][_0x23a64f(0x191)]=_0x23a64f(0x171),writeFileSync(_0x5d3a29,JSON['stringify'](_0x1462d4,null,0x2)+'\x0a',_0x23a64f(0x139)),{'step':0x7,'label':_0x23a64f(0x13c),'ok':!![],'detail':_0x5085d7+_0x23a64f(0x150)+_0x210ee9+_0x23a64f(0x176)};}catch(_0x566567){return{'step':0x7,'label':_0x23a64f(0x13c),'ok':![],'detail':_0x566567[_0x23a64f(0x17d)]};}}function tryStat(_0x398da1){try{return statSync(_0x398da1);}catch{return undefined;}}function printSummary(_0x2296be){const _0x5154b1=a188_0x48f01e;console[_0x5154b1(0x17c)](''),console[_0x5154b1(0x17c)](a188_0x5706cb[_0x5154b1(0x132)](_0x5154b1(0x165))),console[_0x5154b1(0x17c)]('');for(const _0x40ed4a of _0x2296be){const _0x26d25a=_0x40ed4a['ok']?a188_0x5706cb['green']('OK'):a188_0x5706cb[_0x5154b1(0x12c)]('FAIL');console[_0x5154b1(0x17c)]('\x20\x20'+_0x26d25a+_0x5154b1(0x168)+_0x40ed4a[_0x5154b1(0x173)]+':\x20'+_0x40ed4a[_0x5154b1(0x189)]);if(_0x40ed4a[_0x5154b1(0x159)])console[_0x5154b1(0x17c)]('\x20\x20\x20\x20\x20\x20\x20'+a188_0x5706cb[_0x5154b1(0x18e)](_0x40ed4a[_0x5154b1(0x159)]));}console[_0x5154b1(0x17c)]('');}export async function upgradeApp(_0x46480f,_0x36a7f4){const _0x529420=a188_0x48f01e,_0x4c7bb5=process[_0x529420(0x136)](),_0x5aeb7a=analyse(_0x4c7bb5),_0x2a80f7=!_0x5aeb7a[_0x529420(0x137)]&&_0x5aeb7a['oldArtifacts']['length']===0x0&&!_0x5aeb7a[_0x529420(0x14f)]&&!_0x5aeb7a['needsSkillSwap']&&!_0x5aeb7a[_0x529420(0x18a)];if(_0x2a80f7){console[_0x529420(0x17c)](a188_0x5706cb[_0x529420(0x157)](_0x529420(0x140)));return;}printReport(_0x5aeb7a);const _0x2a56f4=!!(_0x36a7f4[_0x529420(0x172)]||_0x36a7f4['Y']||_0x46480f);if(!_0x2a56f4)try{const _0x5b19cd=await askConfirm(_0x529420(0x15e));if(!_0x5b19cd){console['log'](a188_0x5706cb[_0x529420(0x18e)](_0x529420(0x16e)));return;}}catch(_0x185d6a){if(_0x185d6a?.[_0x529420(0x17d)]===_0x529420(0x158)){console[_0x529420(0x17c)](a188_0x5706cb[_0x529420(0x18e)]('Upgrade\x20cancelled.'));return;}throw _0x185d6a;}const _0x5cdbcc=[],_0x4a8263=a188_0x4ab3f2({'text':'Step\x201/7:\x20Migrating\x20config...','color':_0x529420(0x1a3)})[_0x529420(0x184)](),_0x3aecbc=execConfigMigration(_0x5aeb7a,_0x4c7bb5);_0x5cdbcc[_0x529420(0x19c)](_0x3aecbc),_0x4a8263[_0x3aecbc['ok']?_0x529420(0x19a):_0x529420(0x16c)]('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0x3aecbc['detail']??(_0x3aecbc['ok']?_0x529420(0x146):_0x529420(0x182))));const _0x45a6b3=resolve(_0x4c7bb5,'.lovrabet'),_0x2077ae=a188_0x4ab3f2({'text':_0x529420(0x144),'color':_0x529420(0x1a3)})[_0x529420(0x184)]();if(existsSync(_0x45a6b3))try{rmSync(_0x45a6b3,{'recursive':!![],'force':!![]}),_0x2077ae['succeed'](_0x529420(0x199)),_0x5cdbcc[_0x529420(0x19c)]({'step':0x2,'label':_0x529420(0x192),'ok':!![]});}catch(_0x975608){_0x2077ae[_0x529420(0x16c)](_0x529420(0x153)+_0x975608[_0x529420(0x17d)]),_0x5cdbcc[_0x529420(0x19c)]({'step':0x2,'label':_0x529420(0x192),'ok':![],'detail':_0x975608[_0x529420(0x17d)]});}else _0x2077ae[_0x529420(0x147)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x5cdbcc[_0x529420(0x19c)]({'step':0x2,'label':_0x529420(0x192),'ok':!![],'detail':_0x529420(0x161)});const _0x6f45e=a188_0x4ab3f2({'text':_0x529420(0x15d),'color':_0x529420(0x1a3)})[_0x529420(0x184)](),_0x56346a=execRemoveOldArtifacts(_0x5aeb7a[_0x529420(0x14d)]);_0x5cdbcc[_0x529420(0x19c)](_0x56346a),_0x6f45e[_0x56346a['ok']?'succeed':_0x529420(0x16c)]('Step\x203/7:\x20Legacy\x20artifacts\x20—\x20'+(_0x56346a[_0x529420(0x159)]??(_0x56346a['ok']?_0x529420(0x146):_0x529420(0x182))));const _0x563b54=a188_0x4ab3f2({'text':_0x529420(0x14e),'color':_0x529420(0x1a3)})[_0x529420(0x184)](),_0xb5ef64=execCleanMcp(_0x5aeb7a);_0x5cdbcc[_0x529420(0x19c)](_0xb5ef64),_0x563b54[_0xb5ef64['ok']?'succeed':_0x529420(0x16c)](_0x529420(0x1a8)+(_0xb5ef64[_0x529420(0x159)]??(_0xb5ef64['ok']?_0x529420(0x146):_0x529420(0x182))));const _0x4984ad=a188_0x4ab3f2({'text':_0x529420(0x169),'color':'cyan'})[_0x529420(0x184)](),_0x193de9=execSkillsRemove(_0x4c7bb5,_0x2a56f4);_0x5cdbcc[_0x529420(0x19c)](_0x193de9),_0x4984ad[_0x193de9['ok']?'succeed':'fail'](_0x529420(0x1a4)+(_0x193de9['detail']??(_0x193de9['ok']?_0x529420(0x146):'failed')));const _0x4113b2=a188_0x4ab3f2({'text':_0x529420(0x197),'color':_0x529420(0x1a3)})[_0x529420(0x184)](),_0x4c57c8=execSkillsAdd(_0x4c7bb5,_0x2a56f4);_0x5cdbcc[_0x529420(0x19c)](_0x4c57c8),_0x4113b2[_0x4c57c8['ok']?'succeed':_0x529420(0x16c)]('Step\x206/7:\x20Install\x20new\x20skill\x20—\x20'+(_0x4c57c8[_0x529420(0x159)]??(_0x4c57c8['ok']?_0x529420(0x146):_0x529420(0x182))));const _0x36467a=a188_0x4ab3f2({'text':_0x529420(0x13d),'color':_0x529420(0x1a3)})[_0x529420(0x184)](),_0x4d0492=execUpgradeSdk(_0x5aeb7a);_0x5cdbcc[_0x529420(0x19c)](_0x4d0492),_0x36467a[_0x4d0492['ok']?_0x529420(0x19a):_0x529420(0x16c)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x4d0492[_0x529420(0x159)]??(_0x4d0492['ok']?_0x529420(0x146):_0x529420(0x182)))),printSummary(_0x5cdbcc);const _0x5b538c=_0x5cdbcc[_0x529420(0x16d)](_0x1ca6c7=>!_0x1ca6c7['ok']);_0x5b538c?console[_0x529420(0x17c)](a188_0x5706cb[_0x529420(0x133)](_0x529420(0x16a))):console[_0x529420(0x17c)](a188_0x5706cb[_0x529420(0x157)]('Upgrade\x20completed\x20successfully!')),_0x4d0492['ok']&&_0x5aeb7a[_0x529420(0x18a)]&&(console[_0x529420(0x17c)](''),console[_0x529420(0x17c)](a188_0x5706cb[_0x529420(0x132)][_0x529420(0x1a3)](_0x529420(0x17f))),console[_0x529420(0x17c)](a188_0x5706cb['cyan'](_0x529420(0x178))),console[_0x529420(0x17c)](''),console[_0x529420(0x17c)](a188_0x5706cb['white'](_0x529420(0x148))),console[_0x529420(0x17c)](a188_0x5706cb[_0x529420(0x194)](_0x529420(0x181))),console[_0x529420(0x17c)](a188_0x5706cb[_0x529420(0x194)](_0x529420(0x1a6))),console[_0x529420(0x17c)](''));}
|