@lovrabet/rabetbase-cli 2.5.3-beta.2 โ 2.5.3-beta.4
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/api-group.d.ts +22 -0
- package/lib/api/api-group.js +1 -0
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.d.ts +18 -2
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/api/legacy-api-file.d.ts +11 -0
- package/lib/api/legacy-api-file.js +1 -0
- package/lib/api/model-registry-file.d.ts +36 -0
- package/lib/api/model-registry-file.js +1 -0
- package/lib/api/model-registry-scaffold.d.ts +7 -0
- package/lib/api/model-registry-scaffold.js +1 -0
- package/lib/api/model-source.d.ts +6 -0
- package/lib/api/model-source.js +1 -0
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.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/logs.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.d.ts +7 -0
- 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/batch-design.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/cross-relation-create.d.ts +2 -0
- package/lib/commands/dataset/cross-relation-create.js +1 -0
- package/lib/commands/dataset/cross-relation-delete.d.ts +2 -0
- package/lib/commands/dataset/cross-relation-delete.js +1 -0
- package/lib/commands/dataset/cross-relation-list.d.ts +2 -0
- package/lib/commands/dataset/cross-relation-list.js +1 -0
- package/lib/commands/dataset/cross-relation-shared.d.ts +190 -0
- package/lib/commands/dataset/cross-relation-shared.js +1 -0
- package/lib/commands/dataset/cross-relation-update.d.ts +2 -0
- package/lib/commands/dataset/cross-relation-update.js +1 -0
- 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/flow/create.js +1 -1
- package/lib/commands/flow/detail.js +1 -1
- package/lib/commands/flow/index.js +1 -1
- package/lib/commands/flow/list.js +1 -1
- package/lib/commands/flow/publish.js +1 -1
- package/lib/commands/flow/runtime-resources-shared.js +1 -1
- package/lib/commands/flow/runtime-role-list.js +1 -1
- package/lib/commands/flow/runtime-role-user-list.js +1 -1
- package/lib/commands/flow/runtime-user-search.js +1 -1
- package/lib/commands/flow/shared.js +1 -1
- package/lib/commands/flow/update.js +1 -1
- package/lib/commands/flow/validate.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/api-architecture-upgrade.d.ts +28 -0
- package/lib/commands/project/api-architecture-upgrade.js +1 -0
- 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.d.ts +30 -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/region-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.d.ts +5 -3
- 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.d.ts +2 -0
- 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.d.ts +2 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.d.ts +13 -17
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +6 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/hook-directory.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/cross-db-relation.d.ts +41 -0
- package/lib/core/cross-db-relation.js +1 -0
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/flow-config.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/page/lr-smart-jsx.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.d.ts +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.d.ts +0 -10
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/types/index.d.ts +11 -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.d.ts +19 -0
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +6 -1
- package/skills/rabetbase/SKILL.md +16 -10
- package/skills/rabetbase/guides/backend-function.md +5 -1
- package/skills/rabetbase/guides/bff-creation-workflow.md +3 -1
- package/skills/rabetbase/guides/cross-database-bff.md +70 -0
- package/skills/rabetbase/guides/data-api-guidelines.md +35 -33
- package/skills/rabetbase/guides/sdk-client-generation.md +112 -61
- package/skills/rabetbase/guides/sql-creation-workflow.md +2 -0
- package/skills/rabetbase/guides/typescript-sdk.md +9 -0
- package/skills/rabetbase/references/rabetbase-api-pull.md +30 -19
- package/skills/rabetbase/references/rabetbase-app-list.md +1 -1
- package/skills/rabetbase/references/rabetbase-config.md +2 -1
- package/skills/rabetbase/references/rabetbase-dataset-cross-relations.md +64 -0
- package/skills/rabetbase/references/rabetbase-project-create.md +3 -3
- package/skills/rabetbase/references/rabetbase-project-upgrade.md +24 -13
- package/skills/rabetbase.manifest.json +5 -3
- package/templates/README.md +46 -6
- package/templates/generate-api/model-runtime.ts.tpl +101 -0
- package/templates/generate-api/profile-api.ts.tpl +21 -0
- package/templates/generate-api/profile-client.ts.tpl +14 -0
package/lib/api/api-doc.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const a0_0x53eb52=a0_0x39bc;(function(_0x3a2d37,_0x439dd9){const _0x3aa3bd=a0_0x39bc,_0x73d5b=_0x3a2d37();while(!![]){try{const _0x580f75=-parseInt(_0x3aa3bd(0x1ca))/0x1*(parseInt(_0x3aa3bd(0x1dc))/0x2)+-parseInt(_0x3aa3bd(0x1ce))/0x3*(parseInt(_0x3aa3bd(0x1d3))/0x4)+parseInt(_0x3aa3bd(0x1cc))/0x5*(parseInt(_0x3aa3bd(0x1db))/0x6)+parseInt(_0x3aa3bd(0x1d5))/0x7+parseInt(_0x3aa3bd(0x1d7))/0x8*(-parseInt(_0x3aa3bd(0x1e0))/0x9)+parseInt(_0x3aa3bd(0x1e6))/0xa*(-parseInt(_0x3aa3bd(0x1e5))/0xb)+-parseInt(_0x3aa3bd(0x1df))/0xc*(-parseInt(_0x3aa3bd(0x1dd))/0xd);if(_0x580f75===_0x439dd9)break;else _0x73d5b['push'](_0x73d5b['shift']());}catch(_0x26b7e2){_0x73d5b['push'](_0x73d5b['shift']());}}}(a0_0x28c5,0xa1614));function a0_0x28c5(){const _0x50dd1a=['โ\x20Failed:\x20','5coGtNU','Failed\x20to\x20generate\x20docs:\x20','3657261URZmgT','error','.md\x20-\x20','success','push','4RSDMxk','โ\x20Generated:\x20','7570003bMyQGm','length','8OZmbcX','log','./docs','Generated\x20docs\x20successfully:\x20','2512482DcPbZQ','3508WgskZp','1310777seADOO','api-doc','96UzZYyX','1221759pyMLSc','.md','datasetCode',']\x20Generating:\x20','utf8','121EsevSk','26920oleQji','.md\x20(','name','tableName','\x20datasets\x20to\x20generate\x20docs\x20for\x0a','149oIhtHA'];a0_0x28c5=function(){return _0x50dd1a;};return a0_0x28c5();}import{mkdirSync,writeFileSync}from'node:fs';import a0_0x1d00b8 from'node:path';import{fetchDatasetDoc}from'../core/api-client.js';import{logger}from'../utils/logger.js';export{fetchDatasetDoc}from'../core/api-client.js';function a0_0x39bc(_0x3daaaa,_0x239d7a){_0x3daaaa=_0x3daaaa-0x1c9;const _0x28c59f=a0_0x28c5();let _0x39bcda=_0x28c59f[_0x3daaaa];return _0x39bcda;}function delay(_0x40b997){return new Promise(_0x43be6b=>setTimeout(_0x43be6b,_0x40b997));}export async function generateDatasetDocs(_0x529e2b,_0x583289,_0x43e426,_0x28352f=a0_0x53eb52(0x1d9),_0x6f85c4,_0x340b58){const _0x40dd96=a0_0x53eb52;mkdirSync(_0x28352f,{'recursive':!![]});const _0x2f77eb=[],_0x32f6fa=_0x529e2b[_0x40dd96(0x1d6)];console['log']('\x0a'+_0x32f6fa+_0x40dd96(0x1c9));for(let _0x361908=0x0;_0x361908<_0x529e2b[_0x40dd96(0x1d6)];_0x361908++){const _0x33c543=_0x529e2b[_0x361908],_0x320d85=_0x361908+0x1,_0x56798f=_0x33c543[_0x40dd96(0x1e9)];try{console[_0x40dd96(0x1d8)]('['+_0x320d85+'/'+_0x32f6fa+_0x40dd96(0x1e3)+_0x56798f+_0x40dd96(0x1e7)+_0x33c543['name']+')');if(_0x6f85c4)_0x6f85c4(_0x320d85,_0x32f6fa,_0x56798f);const _0x2eed45=await fetchDatasetDoc({'appCode':_0x583289,'cookie':_0x43e426,'datasetCode':_0x33c543[_0x40dd96(0x1e2)],'datasetId':_0x33c543['id'],'enableAI':![],'extraParams':_0x340b58}),_0xe8d2d1=a0_0x1d00b8['join'](_0x28352f,_0x56798f+_0x40dd96(0x1e1));writeFileSync(_0xe8d2d1,_0x2eed45,{'encoding':_0x40dd96(0x1e4)}),console[_0x40dd96(0x1d8)](_0x40dd96(0x1d4)+_0x56798f+_0x40dd96(0x1e1)),logger[_0x40dd96(0x1d1)](_0x40dd96(0x1de),_0x40dd96(0x1da)+_0x56798f,undefined,{'datasetCode':_0x33c543[_0x40dd96(0x1e2)],'datasetName':_0x33c543['name'],'filePath':_0xe8d2d1,'progress':_0x320d85+'/'+_0x32f6fa}),_0x2f77eb[_0x40dd96(0x1d2)]({'datasetCode':_0x33c543[_0x40dd96(0x1e2)],'datasetName':_0x33c543[_0x40dd96(0x1e8)],'filePath':_0xe8d2d1,'success':!![]});if(_0x320d85<_0x32f6fa)await delay(0x1388);}catch(_0x38ab02){const _0x2145e9=_0x38ab02 instanceof Error?_0x38ab02['message']:String(_0x38ab02);console[_0x40dd96(0x1d8)](_0x40dd96(0x1cb)+_0x56798f+_0x40dd96(0x1d0)+_0x2145e9),logger[_0x40dd96(0x1cf)]('api-doc',_0x40dd96(0x1cd)+_0x33c543[_0x40dd96(0x1e2)],{'datasetCode':_0x33c543[_0x40dd96(0x1e2)],'datasetName':_0x33c543[_0x40dd96(0x1e8)],'error':_0x2145e9,'progress':_0x320d85+'/'+_0x32f6fa}),_0x2f77eb['push']({'datasetCode':_0x33c543[_0x40dd96(0x1e2)],'datasetName':_0x33c543[_0x40dd96(0x1e8)],'filePath':'','success':![],'error':_0x2145e9}),_0x320d85<_0x32f6fa&&(console[_0x40dd96(0x1d8)]('Waiting\x203\x20seconds...\x0a'),await delay(0xbb8));}}return _0x2f77eb;}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { MultiAppConfig } from "../context.js";
|
|
2
|
+
export interface ApiProfileLayout {
|
|
3
|
+
app: MultiAppConfig;
|
|
4
|
+
outputDir: string;
|
|
5
|
+
normalizedApiDir: string;
|
|
6
|
+
apiGroup?: string;
|
|
7
|
+
}
|
|
8
|
+
/** Normalize API directory identity once for all grouping and conflict checks. */
|
|
9
|
+
export declare function normalizeApiDir(apiDir: string, baseDir?: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Validate the one-registry-group-per-directory contract before target filtering.
|
|
12
|
+
*
|
|
13
|
+
* Profiles without apiGroup remain compatible with the legacy multi-app layout
|
|
14
|
+
* when two or more of them share one API directory.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveApiProfileLayouts(apps: MultiAppConfig[], resolveOutputDir: (app: MultiAppConfig) => string, baseDir?: string): ApiProfileLayout[];
|
|
17
|
+
/**
|
|
18
|
+
* Return the profiles that share one generated registry with the selected app.
|
|
19
|
+
* A singleton directory is an implicit single-profile group. Multiple profiles
|
|
20
|
+
* without apiGroup deliberately stay on the legacy prefixed-file path.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getRegistryGroup(layouts: ApiProfileLayout[], selected: ApiProfileLayout): ApiProfileLayout[] | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a1_0x477e(_0x751f59,_0x4208ae){_0x751f59=_0x751f59-0xd8;const _0x2ca70a=a1_0x2ca7();let _0x477e6d=_0x2ca70a[_0x751f59];return _0x477e6d;}const a1_0x3b8c32=a1_0x477e;(function(_0x1863ff,_0x3d2dd8){const _0x54be66=a1_0x477e,_0x180244=_0x1863ff();while(!![]){try{const _0x1528ef=parseInt(_0x54be66(0xdb))/0x1+-parseInt(_0x54be66(0xe4))/0x2*(-parseInt(_0x54be66(0xee))/0x3)+parseInt(_0x54be66(0xe7))/0x4*(parseInt(_0x54be66(0xea))/0x5)+parseInt(_0x54be66(0xf5))/0x6+-parseInt(_0x54be66(0xec))/0x7+-parseInt(_0x54be66(0xeb))/0x8+parseInt(_0x54be66(0xde))/0x9;if(_0x1528ef===_0x3d2dd8)break;else _0x180244['push'](_0x180244['shift']());}catch(_0x341dbc){_0x180244['push'](_0x180244['shift']());}}}(a1_0x2ca7,0xdc0ac));import a1_0x536c3a from'node:path';import{CliErrors}from'../errors.js';export function normalizeApiDir(_0x540a1d,_0x180bf7=process[a1_0x3b8c32(0xf0)]()){return a1_0x536c3a['resolve'](_0x180bf7,_0x540a1d);}function normalizedApiGroup(_0x58361d){const _0x4fbe2c=a1_0x3b8c32,_0x35d77e=_0x58361d?.[_0x4fbe2c(0xf7)]();return _0x35d77e||undefined;}function a1_0x2ca7(){const _0x15b39a=['API\x20directory\x20\x22','Profiles\x20in\x20the\x20same\x20API\x20group\x20must\x20use\x20the\x20same\x20apiDir.','app','get','1739076OGeBaS','filter','trim','API\x20group\x20\x22','size','values','810641QsspDJ','add','name','14000571pgvyRt','\x22\x20is\x20assigned\x20to\x20incompatible\x20API\x20groups.','.\x20Use\x20a\x20different\x20apiDir\x20for\x20a\x20separate\x20API.','join','apiGroup','set','99802haCVyu','outputDir','\x22\x20resolves\x20to\x20multiple\x20API\x20directories.','3504wvWnFI','normalizedApiDir','map','210ohHohv','5513160qqQWjh','12258218DTNWIp','validation','39URaKuy','length','cwd'];a1_0x2ca7=function(){return _0x15b39a;};return a1_0x2ca7();}export function resolveApiProfileLayouts(_0x281f87,_0x518ddc,_0xd1adb2=process[a1_0x3b8c32(0xf0)]()){const _0x35bf29=a1_0x3b8c32,_0x4fa21d=_0x281f87[_0x35bf29(0xe9)](_0x97fb8a=>{const _0x57f3c8=_0x35bf29,_0xc9a82f=_0x518ddc(_0x97fb8a);return{'app':_0x97fb8a,'outputDir':_0xc9a82f,'normalizedApiDir':normalizeApiDir(_0xc9a82f,_0xd1adb2),'apiGroup':normalizedApiGroup(_0x97fb8a[_0x57f3c8(0xe2)])};}),_0x3e81f2=new Map();for(const _0x5594bb of _0x4fa21d){if(!_0x5594bb['apiGroup'])continue;const _0x5a271e=_0x3e81f2['get'](_0x5594bb[_0x35bf29(0xe2)])??new Set();_0x5a271e[_0x35bf29(0xdc)](_0x5594bb[_0x35bf29(0xe8)]),_0x3e81f2[_0x35bf29(0xe3)](_0x5594bb[_0x35bf29(0xe2)],_0x5a271e);}for(const [_0x544e9d,_0x1ead0b]of _0x3e81f2){if(_0x1ead0b[_0x35bf29(0xd9)]>0x1)throw CliErrors[_0x35bf29(0xed)](_0x35bf29(0xd8)+_0x544e9d+_0x35bf29(0xe6),_0x35bf29(0xf2));}const _0x2616e1=new Map();for(const _0x23bb25 of _0x4fa21d){const _0x307f17=_0x2616e1[_0x35bf29(0xf4)](_0x23bb25[_0x35bf29(0xe8)])??[];_0x307f17['push'](_0x23bb25),_0x2616e1[_0x35bf29(0xe3)](_0x23bb25['normalizedApiDir'],_0x307f17);}for(const _0x5b0908 of _0x2616e1[_0x35bf29(0xda)]()){const _0x4675a3=new Set(_0x5b0908['flatMap'](_0x1d740b=>_0x1d740b[_0x35bf29(0xe2)]?[_0x1d740b['apiGroup']]:[]));if(_0x4675a3[_0x35bf29(0xd9)]===0x0)continue;if(_0x4675a3[_0x35bf29(0xd9)]>0x1||_0x5b0908['some'](_0x21ede8=>!_0x21ede8['apiGroup'])){const _0x3e2a41=_0x5b0908['map'](_0x519599=>_0x519599[_0x35bf29(0xf3)][_0x35bf29(0xdd)])[_0x35bf29(0xe1)](',\x20');throw CliErrors[_0x35bf29(0xed)](_0x35bf29(0xf1)+_0x5b0908[0x0][_0x35bf29(0xe5)]+_0x35bf29(0xdf),'Profiles\x20sharing\x20one\x20apiDir\x20must\x20use\x20the\x20same\x20explicit\x20apiGroup.\x20Conflicting\x20profiles:\x20'+_0x3e2a41+_0x35bf29(0xe0));}}return _0x4fa21d;}export function getRegistryGroup(_0x160dbc,_0x5d1c0d){const _0x1bc182=a1_0x3b8c32;if(_0x5d1c0d[_0x1bc182(0xe2)])return _0x160dbc[_0x1bc182(0xf6)](_0x3cc7be=>_0x3cc7be['apiGroup']===_0x5d1c0d['apiGroup']);const _0x56f1df=_0x160dbc[_0x1bc182(0xf6)](_0x1b5d9e=>_0x1b5d9e['normalizedApiDir']===_0x5d1c0d[_0x1bc182(0xe8)]);return _0x56f1df[_0x1bc182(0xef)]===0x1?_0x56f1df:undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a2_0x217a(_0xb11ba2,_0x3fb456){_0xb11ba2=_0xb11ba2-0x1d5;var _0x53c305=a2_0x53c3();var _0x217a9c=_0x53c305[_0xb11ba2];return _0x217a9c;}(function(_0x371952,_0x18e98a){var _0x135ad5=a2_0x217a,_0x5445f6=_0x371952();while(!![]){try{var _0x1a1af5=-parseInt(_0x135ad5(0x1dc))/0x1+-parseInt(_0x135ad5(0x1d8))/0x2+parseInt(_0x135ad5(0x1da))/0x3*(parseInt(_0x135ad5(0x1d9))/0x4)+-parseInt(_0x135ad5(0x1d7))/0x5+parseInt(_0x135ad5(0x1db))/0x6*(-parseInt(_0x135ad5(0x1d6))/0x7)+parseInt(_0x135ad5(0x1d5))/0x8+parseInt(_0x135ad5(0x1dd))/0x9;if(_0x1a1af5===_0x18e98a)break;else _0x5445f6['push'](_0x5445f6['shift']());}catch(_0x4c2ef8){_0x5445f6['push'](_0x5445f6['shift']());}}}(a2_0x53c3,0x9b2d7));function a2_0x53c3(){var _0x29ce39=['76AzSWfl','164163YMXqGj','4838868Yplxpf','804613MCqiEq','16317351hwdANA','2822152UOOtVt','7MBqjco','1278005MKUmZu','1406416uNrXZV'];a2_0x53c3=function(){return _0x29ce39;};return a2_0x53c3();}export{fetchModelList}from'../core/api-client.js';
|
|
@@ -8,11 +8,27 @@ export interface GenerateApiFileOptions {
|
|
|
8
8
|
* `project create` passes true so the empty demo scaffold is filled with models.
|
|
9
9
|
*/
|
|
10
10
|
overwriteTypescript?: boolean;
|
|
11
|
+
/** Allow an empty pull to replace an existing profile's model facts. */
|
|
12
|
+
allowEmptyModelReplacement?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Control source scaffolding independently from model facts.
|
|
15
|
+
* `none` is used by api pull; project upgrade owns source migration.
|
|
16
|
+
*/
|
|
17
|
+
scaffoldMode?: "missing" | "replace" | "none";
|
|
18
|
+
/**
|
|
19
|
+
* Keep the stable api.ts/client.ts entrypoints and update this generated
|
|
20
|
+
* profile instead of embedding node-local dataset codes in api.ts.
|
|
21
|
+
*/
|
|
22
|
+
modelProfile?: {
|
|
23
|
+
name: string;
|
|
24
|
+
defaultName: string;
|
|
25
|
+
runtimeDomain: string;
|
|
26
|
+
};
|
|
11
27
|
}
|
|
12
28
|
/**
|
|
13
29
|
* Refresh SDK routing facts and optionally write a TypeScript scaffold.
|
|
14
30
|
*
|
|
15
|
-
* Always writes the matching SDK routing file.
|
|
16
|
-
*
|
|
31
|
+
* Always writes the matching SDK routing file. Source scaffolding is controlled
|
|
32
|
+
* independently so api pull can refresh facts without performing architecture migration.
|
|
17
33
|
*/
|
|
18
34
|
export declare function generateApiFile(configArray: ModelListItem[], filePrefix: string, appCode: string, isFromDefaultConfig: boolean, env: string, outputDir: string, appName?: string, sdkRouting?: SdkClientRoutingConfig, options?: GenerateApiFileOptions): Promise<GenerateApiFileResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a3_0x257d(){const _0x2d7a27=['overwriteTypescript','success','18617481pvXYER','allowEmptyModelReplacement','join','runtimeDomain','client.ts.tpl','api','{\x20apiConfigName:\x20','none','overwritten','Please\x20configure\x20app\x20code\x20first\x20via\x20`','2697870dVygsE','284168ntlDZT','modelProfile','-api','api.ts.tpl','init-api','datasetCode','preserved','4xfIJhA','utf8','../..','typescript','test','defaultName','LOVRABET','-client','10hmVHDC','resolve','\x20refreshed;\x20existing\x20TypeScript\x20left\x20unchanged.','map','length','.ts','384826sgZISr','created','\x20config\x20set\x20app\x20<value>`','replace','default','modelRuntime','APP_','stringify','dirname','path','28STPbDI',',\x20env:\x20','action','refreshed','scaffoldMode','toUpperCase','missing','2002776exKMkM','294158LHbdAM','client','name','replaceApiContent','format','includes','alias','API\x20scaffold\x20written.','basename','3777345dcftpx'];a3_0x257d=function(){return _0x2d7a27;};return a3_0x257d();}(function(_0x1795af,_0x348eb3){const _0x3b6308=a3_0x1543,_0x4b0ab8=_0x1795af();while(!![]){try{const _0x1174f8=parseInt(_0x3b6308(0x186))/0x1+parseInt(_0x3b6308(0x174))/0x2+parseInt(_0x3b6308(0x185))/0x3*(-parseInt(_0x3b6308(0x166))/0x4)+-parseInt(_0x3b6308(0x18f))/0x5+-parseInt(_0x3b6308(0x19c))/0x6+-parseInt(_0x3b6308(0x17e))/0x7*(parseInt(_0x3b6308(0x19d))/0x8)+-parseInt(_0x3b6308(0x192))/0x9*(-parseInt(_0x3b6308(0x16e))/0xa);if(_0x1174f8===_0x348eb3)break;else _0x4b0ab8['push'](_0x4b0ab8['shift']());}catch(_0x51cc7e){_0x4b0ab8['push'](_0x4b0ab8['shift']());}}}(a3_0x257d,0x83ee6));import a3_0x2a3982 from'prettier';import{existsSync,mkdirSync,writeFileSync,readFileSync}from'node:fs';import a3_0x9ff23e from'node:path';import{fileURLToPath}from'node:url';function a3_0x1543(_0x15c110,_0x457f01){_0x15c110=_0x15c110-0x161;const _0x257d2b=a3_0x257d();let _0x15436f=_0x257d2b[_0x15c110];return _0x15436f;}import{TemplateReplacer}from'../utils/template-replacer.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{logger}from'../utils/logger.js';import{isProduction}from'../constant/env.js';import{generateSdkConfigFile}from'../api/generate-sdk-config-file.js';import{MODEL_REGISTRY_FILE_NAME,MODEL_RUNTIME_FILE_NAME,updateModelRegistry}from'../api/model-registry-file.js';import{renderModelRegistryScaffold}from'../api/model-registry-scaffold.js';function fileAction(_0x503079,_0x45476f){const _0x363a7f=a3_0x1543;if(!_0x45476f)return _0x503079?_0x363a7f(0x165):_0x363a7f(0x184);return _0x503079?_0x363a7f(0x19a):'created';}export async function generateApiFile(_0xf4c136,_0x45ac3a,_0x30d6b8,_0x533aaf,_0x87548f,_0x402fb4,_0x556f0d,_0x3c5dbf={},_0x504d50={}){const _0x57abe5=a3_0x1543;if(!_0x30d6b8)throw new Error(_0x57abe5(0x19b)+CLI_BIN_NAME+_0x57abe5(0x176));const _0x456718=_0x533aaf&&!_0x556f0d,_0x251b3c=!!_0x504d50['modelProfile'],_0x1277c9=_0x251b3c||_0x456718,_0xa5d674=_0x556f0d||_0x30d6b8,_0x55180d=_0x251b3c||_0x456718?_0x57abe5(0x178):_0xa5d674,_0x4a5b08=_0x251b3c||_0x456718?'CONFIG_NAMES.DEFAULT':JSON[_0x57abe5(0x17b)](_0xa5d674),_0x320d52=!isProduction(_0x87548f),_0x15371e=_0x320d52?_0x57abe5(0x17f)+JSON[_0x57abe5(0x17b)](_0x87548f):'',_0x55cd24=_0x57abe5(0x198)+_0x4a5b08+_0x15371e+',\x20...LOVRABET_SDK_CONFIG\x20}',_0x28330b=_0x251b3c?'':_0x45ac3a,_0x1ad458=_0x28330b?_0x28330b+_0x57abe5(0x161):_0x57abe5(0x197),_0xe8e287=_0x28330b?_0x28330b+_0x57abe5(0x16d):'client',_0x359f8d=_0x28330b&&!/^app-[a-f0-9]+$/i['test'](_0x28330b)?_0x28330b[_0x57abe5(0x177)](/-/g,'_')[_0x57abe5(0x183)]():_0x57abe5(0x16c),_0x3cccad=/^\d/[_0x57abe5(0x16a)](_0x359f8d)?_0x57abe5(0x17a)+_0x359f8d:_0x359f8d,_0x434e15=_0xf4c136[_0x57abe5(0x171)](_0x49cf17=>({'datasetCode':_0x49cf17[_0x57abe5(0x164)],'tableName':_0x49cf17['tableName'],'name':_0x49cf17[_0x57abe5(0x188)]||'','alias':_0x49cf17[_0x57abe5(0x18c)]||_0x49cf17['key']})),_0x153ae3=fileURLToPath(import.meta.url),_0x5d8097=a3_0x9ff23e[_0x57abe5(0x16f)](a3_0x9ff23e[_0x57abe5(0x17c)](_0x153ae3),_0x57abe5(0x168)),_0x475d2e=a3_0x9ff23e[_0x57abe5(0x194)](_0x5d8097,'templates/generate-api'),_0x43bda0=a3_0x9ff23e['join'](_0x475d2e,_0x57abe5(0x162)),_0x3f7a03=a3_0x9ff23e[_0x57abe5(0x194)](_0x475d2e,_0x57abe5(0x196)),_0xcfcc2=_0x402fb4;mkdirSync(_0xcfcc2,{'recursive':!![]});const _0x37d55b=_0x251b3c?{}:_0x3c5dbf,_0x528189=await generateSdkConfigFile(_0xcfcc2,_0x37d55b,_0x28330b),_0x150a18=a3_0x9ff23e[_0x57abe5(0x18e)](_0x528189,_0x57abe5(0x173)),_0x37132b=a3_0x9ff23e[_0x57abe5(0x194)](_0xcfcc2,_0x1ad458+_0x57abe5(0x173)),_0x5dd382=a3_0x9ff23e['join'](_0xcfcc2,_0xe8e287+'.ts'),_0x2cf2d0=_0x504d50[_0x57abe5(0x190)]===!![],_0x17a4e7=existsSync(_0x37132b),_0x50a31a=existsSync(_0x5dd382),_0x4e61d6=_0x504d50[_0x57abe5(0x182)]??(_0x2cf2d0?_0x57abe5(0x177):_0x57abe5(0x184)),_0x4df1cb=_0x4e61d6===_0x57abe5(0x177)||_0x4e61d6===_0x57abe5(0x184)&&!_0x17a4e7,_0x4d715c=_0x4e61d6===_0x57abe5(0x177)||_0x4e61d6===_0x57abe5(0x184)&&!_0x50a31a,_0x355465=_0x504d50['modelProfile']?updateModelRegistry({'outputDir':_0xcfcc2,'profileName':_0x504d50[_0x57abe5(0x19e)][_0x57abe5(0x188)],'defaultProfile':_0x504d50['modelProfile'][_0x57abe5(0x16b)],'appCode':_0x30d6b8,'runtimeDomain':_0x504d50[_0x57abe5(0x19e)][_0x57abe5(0x195)],'models':_0x434e15,'allowEmptyReplacement':_0x504d50[_0x57abe5(0x193)]===!![]}):undefined,_0x21aca0=_0x355465?a3_0x9ff23e[_0x57abe5(0x194)](_0xcfcc2,MODEL_RUNTIME_FILE_NAME):undefined,_0x431414=_0x21aca0?existsSync(_0x21aca0):![],_0x23fbd1=_0x251b3c&&_0x4e61d6!==_0x57abe5(0x199)?await renderModelRegistryScaffold(_0xcfcc2):undefined;_0x21aca0&&_0x23fbd1&&writeFileSync(_0x21aca0,_0x23fbd1[_0x57abe5(0x179)],'utf8');const _0x552997=_0x434e15[0x0]?.[_0x57abe5(0x18c)];if(_0x4df1cb){const _0x352504=_0x23fbd1?.[_0x57abe5(0x197)]??readFileSync(_0x43bda0,_0x57abe5(0x167)),_0x5a3612=_0x251b3c?_0x352504:TemplateReplacer[_0x57abe5(0x189)](_0x352504,_0x30d6b8,_0x434e15,_0x552997,_0x1ad458,_0x4a5b08,undefined,_0x3cccad);writeFileSync(_0x37132b,await a3_0x2a3982[_0x57abe5(0x18a)](_0x5a3612,{'parser':_0x57abe5(0x169)}),{'encoding':_0x57abe5(0x167)});}if(_0x4d715c){const _0x2ca24f=_0x23fbd1?.[_0x57abe5(0x187)]??readFileSync(_0x3f7a03,_0x57abe5(0x167)),_0x57c5aa=_0x251b3c?_0x2ca24f:TemplateReplacer[_0x57abe5(0x189)](_0x2ca24f,_0x30d6b8,_0x434e15,_0x552997,_0x1ad458,_0x4a5b08,_0x55cd24,_0x3cccad,_0x150a18);writeFileSync(_0x5dd382,await a3_0x2a3982[_0x57abe5(0x18a)](_0x57c5aa,{'parser':_0x57abe5(0x169)}),{'encoding':'utf8'});}const _0x29b59c=_0x434e15[_0x57abe5(0x172)],_0x12d28a={'api':{'path':_0x37132b,'action':fileAction(_0x17a4e7,_0x4df1cb)},'client':{'path':_0x5dd382,'action':fileAction(_0x50a31a,_0x4d715c)},'sdkConfig':{'path':_0x528189,'action':_0x57abe5(0x181)},..._0x355465?{'modelRegistry':{'path':_0x355465[_0x57abe5(0x17d)],'action':_0x355465['existed']?_0x57abe5(0x181):_0x57abe5(0x175)},'modelRuntime':{'path':_0x21aca0,'action':_0x23fbd1?_0x431414?'refreshed':_0x57abe5(0x175):_0x431414?'preserved':_0x57abe5(0x184)}}:{}},_0x3e3b96=existsSync(_0x37132b)&&readFileSync(_0x37132b,_0x57abe5(0x167))[_0x57abe5(0x18b)](MODEL_REGISTRY_FILE_NAME['replace'](_0x57abe5(0x173),'')),_0x128969=existsSync(_0x5dd382)&&readFileSync(_0x5dd382,_0x57abe5(0x167))['includes']('LOVRABET_RUNTIME_DOMAIN'),_0x4cdc35=_0x251b3c?!_0x3e3b96||!_0x128969||!existsSync(_0x21aca0):![],_0x3b18e6=_0x251b3c?_0x4cdc35:_0x12d28a[_0x57abe5(0x197)][_0x57abe5(0x180)]==='preserved'||_0x12d28a[_0x57abe5(0x187)][_0x57abe5(0x180)]==='preserved';return logger[_0x57abe5(0x191)](_0x57abe5(0x163),_0x3b18e6?a3_0x9ff23e[_0x57abe5(0x18e)](_0x528189)+_0x57abe5(0x170):_0x251b3c?'Model\x20facts\x20refreshed.':_0x57abe5(0x18d),undefined,{'apiFile':_0x37132b,'clientFile':_0x5dd382,'sdkConfig':_0x528189,'modelCount':_0x29b59c,'configName':_0x55180d,'isDefaultConfig':_0x1277c9,'needsAgentMerge':_0x3b18e6,'needsProjectUpgrade':_0x4cdc35,'files':_0x12d28a}),{'appCode':_0x30d6b8,'modelCount':_0x29b59c,'models':_0x434e15,'apiFilePath':_0x37132b,'clientFilePath':_0x5dd382,'sdkConfigPath':_0x528189,'modelRegistryPath':_0x355465?.[_0x57abe5(0x17d)],'modelRuntimePath':_0x21aca0,'modelProfile':_0x504d50[_0x57abe5(0x19e)]?.[_0x57abe5(0x188)],'configName':_0x55180d,'isDefaultConfig':_0x1277c9,'sdkRouting':_0x37d55b,'files':_0x12d28a,'needsAgentMerge':_0x3b18e6,'needsProjectUpgrade':_0x4cdc35};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a4_0x49f463=a4_0xf286;(function(_0x42a4d6,_0x3b9e4a){const _0x12b5ef=a4_0xf286,_0x22607f=_0x42a4d6();while(!![]){try{const _0x5cdadc=-parseInt(_0x12b5ef(0x11c))/0x1+-parseInt(_0x12b5ef(0x116))/0x2+-parseInt(_0x12b5ef(0x128))/0x3+parseInt(_0x12b5ef(0x117))/0x4*(parseInt(_0x12b5ef(0x125))/0x5)+parseInt(_0x12b5ef(0x119))/0x6*(parseInt(_0x12b5ef(0x11d))/0x7)+parseInt(_0x12b5ef(0x114))/0x8*(parseInt(_0x12b5ef(0x121))/0x9)+-parseInt(_0x12b5ef(0x129))/0xa*(-parseInt(_0x12b5ef(0x126))/0xb);if(_0x5cdadc===_0x3b9e4a)break;else _0x22607f['push'](_0x22607f['shift']());}catch(_0x18c0de){_0x22607f['push'](_0x22607f['shift']());}}}(a4_0x4644,0xc5894));function a4_0x4644(){const _0x544b4f=['join','typescript','sdk-config.ts','239661HLmiiw','utf8','stringify','runtimeDomain','5BdrVhH','5181sUxLxC',',\x0a}','4358922tpWTye','52310YeMZBm',',\x0a\x20\x20','-sdk-config.ts','112ZuHxXo','{\x0a\x20\x20','2909894iuIrpH','2660568SzziIq','/**\x0a\x20*\x20Lovrabet\x20SDK\x20runtime\x20routing.\x0a\x20*\x20Generated\x20by\x20Rabetbase\x20CLI.\x20Do\x20not\x20add\x20credentials\x20to\x20this\x20file.\x0a\x20*/\x0aexport\x20const\x20LOVRABET_SDK_CONFIG\x20=\x20','42ZWOOeY','runtimeDomain:\x20','\x20as\x20const;\x0a','1263113LPpQYe','1478393NlqrHP'];a4_0x4644=function(){return _0x544b4f;};return a4_0x4644();}import{mkdirSync,writeFileSync}from'node:fs';import a4_0x2fce4f from'node:path';import a4_0x21f5ba from'prettier';function a4_0xf286(_0x4a9b82,_0x1fcb94){_0x4a9b82=_0x4a9b82-0x114;const _0x464472=a4_0x4644();let _0xf286c5=_0x464472[_0x4a9b82];return _0xf286c5;}export const SDK_CONFIG_FILE_NAME=a4_0x49f463(0x120);export function getSdkConfigFileName(_0x29a481=''){const _0x2efcb3=a4_0x49f463;return _0x29a481?_0x29a481+_0x2efcb3(0x12b):SDK_CONFIG_FILE_NAME;}export async function generateSdkConfigFile(_0x1d071d,_0x49dc9d={},_0xda51e=''){const _0x1d4f4b=a4_0x49f463,_0x21e78d=[];_0x49dc9d['runtimeDomain']&&_0x21e78d['push'](_0x1d4f4b(0x11a)+JSON[_0x1d4f4b(0x123)](_0x49dc9d[_0x1d4f4b(0x124)]));const _0x2a4f41=_0x21e78d['length']>0x0?_0x1d4f4b(0x115)+_0x21e78d[_0x1d4f4b(0x11e)](_0x1d4f4b(0x12a))+_0x1d4f4b(0x127):'{}',_0x123eea=_0x1d4f4b(0x118)+_0x2a4f41+_0x1d4f4b(0x11b);mkdirSync(_0x1d071d,{'recursive':!![]});const _0x1e00e5=a4_0x2fce4f['join'](_0x1d071d,getSdkConfigFileName(_0xda51e));return writeFileSync(_0x1e00e5,await a4_0x21f5ba['format'](_0x123eea,{'parser':_0x1d4f4b(0x11f)}),_0x1d4f4b(0x122)),_0x1e00e5;}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RegisterModelConfig } from "../types/index.js";
|
|
2
|
+
/** Parse model facts from the deterministic legacy api.ts scaffold without importing it. */
|
|
3
|
+
export declare function parseLegacyApiModels(content: string): RegisterModelConfig[];
|
|
4
|
+
export declare function parseLegacyApiAppCode(content: string): string | undefined;
|
|
5
|
+
/**
|
|
6
|
+
* Return true only for the small, generated legacy api.ts shape.
|
|
7
|
+
* Unknown statements make the file business-owned and therefore ineligible for replacement.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isLegacyGeneratedApiScaffold(content: string): boolean;
|
|
10
|
+
/** Return true only for the generated legacy client.ts shape. */
|
|
11
|
+
export declare function isLegacyGeneratedClientScaffold(content: string): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a5_0x1c6d(_0x4da006,_0xf9ac2b){_0x4da006=_0x4da006-0x108;const _0x18b738=a5_0x18b7();let _0x18b7b6=_0x18b738[_0x4da006];return _0x18b7b6;}function a5_0x18b7(){const _0x32b24d=['2119887KDFrEs','381366rqbQPB','endsWith','APP_CODE','some','Generated\x20by\x20Rabetbase\x20CLI','matchAll','4663925mbivoB','includes','1604016NVnBSb','length','334296lRwhSa','150KjRFPY','replace','exec','map','test','121866uwuNCA','MODELS_CONFIG','2127828UcXKmG'];a5_0x18b7=function(){return _0x32b24d;};return a5_0x18b7();}(function(_0x282323,_0x33863c){const _0x3e4fd4=a5_0x1c6d,_0x22847f=_0x282323();while(!![]){try{const _0x1600c4=parseInt(_0x3e4fd4(0x114))/0x1+parseInt(_0x3e4fd4(0x10a))/0x2+-parseInt(_0x3e4fd4(0x109))/0x3+-parseInt(_0x3e4fd4(0x108))/0x4+parseInt(_0x3e4fd4(0x115))/0x5*(parseInt(_0x3e4fd4(0x11a))/0x6)+parseInt(_0x3e4fd4(0x110))/0x7+-parseInt(_0x3e4fd4(0x112))/0x8;if(_0x1600c4===_0x33863c)break;else _0x22847f['push'](_0x22847f['shift']());}catch(_0x897e13){_0x22847f['push'](_0x22847f['shift']());}}}(a5_0x18b7,0x58418));export function parseLegacyApiModels(_0x54d710){const _0x57f7f4=a5_0x1c6d,_0x44e1a5=[],_0xc43ac0=/\{\s*datasetCode:\s*"([^"]+)"\s*,\s*tableName:\s*"([^"]+)"\s*,\s*name:\s*"([^"]*?)"\s*,\s*alias:\s*"([^"]+)"\s*,?\s*\}/g;let _0x2b7d66;while((_0x2b7d66=_0xc43ac0[_0x57f7f4(0x117)](_0x54d710))!==null){_0x44e1a5['push']({'datasetCode':_0x2b7d66[0x1],'tableName':_0x2b7d66[0x2],'name':_0x2b7d66[0x3],'alias':_0x2b7d66[0x4]});}return _0x44e1a5;}export function parseLegacyApiAppCode(_0x5f0047){return _0x5f0047['match'](/export\s+const\s+[A-Z0-9_]*APP_CODE(?:\s*:\s*string)?\s*=\s*["']([^"']+)["']/)?.[0x1];}function stripComments(_0x4d008c){const _0x81b9ae=a5_0x1c6d;return _0x4d008c[_0x81b9ae(0x116)](/\/\*[\s\S]*?\*\//g,'')[_0x81b9ae(0x116)](/\/\/.*$/gm,'');}export function isLegacyGeneratedApiScaffold(_0x5a1a9b){const _0x5159b6=a5_0x1c6d;if(!_0x5a1a9b[_0x5159b6(0x111)](_0x5159b6(0x10e)))return![];const _0x5e2e2b=stripComments(_0x5a1a9b),_0x28f8bd=[..._0x5e2e2b['matchAll'](/^import[\s\S]*?from\s+["']([^"']+)["'];?$/gm)][_0x5159b6(0x118)](_0x30f1dc=>_0x30f1dc[0x1]);if(_0x28f8bd['length']!==0x1||_0x28f8bd[0x0]!=='@lovrabet/sdk')return![];const _0x8f5a1d=[..._0x5e2e2b[_0x5159b6(0x10f)](/^(?:export\s+)?const\s+([A-Za-z_$][\w$]*)/gm)][_0x5159b6(0x118)](_0x5e311a=>_0x5e311a[0x1]);if(_0x8f5a1d[_0x5159b6(0x113)]!==0x2||!_0x8f5a1d['some'](_0x55931b=>_0x55931b[_0x5159b6(0x10b)](_0x5159b6(0x10c)))||!_0x8f5a1d[_0x5159b6(0x10d)](_0x546587=>_0x546587[_0x5159b6(0x10b)](_0x5159b6(0x11b))))return![];const _0x3d889e=[..._0x5e2e2b[_0x5159b6(0x10f)](/^([A-Za-z_$][\w$]*)\s*\(/gm)]['map'](_0x2c5f80=>_0x2c5f80[0x1]);return _0x3d889e[_0x5159b6(0x113)]===0x1&&_0x3d889e[0x0]==='registerModels';}export function isLegacyGeneratedClientScaffold(_0x58d896){const _0x597127=a5_0x1c6d;if(!_0x58d896[_0x597127(0x111)](_0x597127(0x10e)))return![];const _0x11d90e=stripComments(_0x58d896),_0x5b6337=[..._0x11d90e[_0x597127(0x10f)](/^(?:import[\s\S]*?from\s+|import\s+)["']([^"']+)["'];?$/gm)][_0x597127(0x118)](_0x546d08=>_0x546d08[0x1]);if(_0x5b6337['some'](_0x13ad0b=>_0x13ad0b!=='@lovrabet/sdk'&&!/^\.\/(?:[\w-]+-)?(?:api|sdk-config)$/[_0x597127(0x119)](_0x13ad0b??'')))return![];const _0x1d061a=[..._0x11d90e[_0x597127(0x10f)](/^(?:export\s+)?const\s+([A-Za-z_$][\w$]*)/gm)][_0x597127(0x118)](_0x4e6be5=>_0x4e6be5[0x1]);return _0x1d061a[_0x597127(0x113)]===0x1&&_0x1d061a[0x0]==='lovrabetClient';}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { RegisterModelConfig } from "../types/index.js";
|
|
2
|
+
export declare const MODEL_REGISTRY_FILE_NAME = "models.generated.ts";
|
|
3
|
+
export declare const MODEL_RUNTIME_FILE_NAME = "model-runtime.ts";
|
|
4
|
+
export declare const MODEL_REGISTRY_VERSION_MARKER = "/* rabetbase-model-registry:v2 */";
|
|
5
|
+
export interface ModelRegistryProfile {
|
|
6
|
+
appCode: string;
|
|
7
|
+
runtimeDomain: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ModelRegistryEntry {
|
|
10
|
+
alias: string;
|
|
11
|
+
tableName: string;
|
|
12
|
+
name: string;
|
|
13
|
+
datasetCodes: Record<string, string>;
|
|
14
|
+
}
|
|
15
|
+
export interface ModelRegistryData {
|
|
16
|
+
defaultProfile: string;
|
|
17
|
+
profiles: Record<string, ModelRegistryProfile>;
|
|
18
|
+
models: ModelRegistryEntry[];
|
|
19
|
+
}
|
|
20
|
+
export interface UpdateModelRegistryOptions {
|
|
21
|
+
outputDir: string;
|
|
22
|
+
profileName: string;
|
|
23
|
+
defaultProfile: string;
|
|
24
|
+
appCode: string;
|
|
25
|
+
runtimeDomain: string;
|
|
26
|
+
models: RegisterModelConfig[];
|
|
27
|
+
allowEmptyReplacement?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export declare function parseModelRegistry(content: string): ModelRegistryData | undefined;
|
|
30
|
+
export declare function readModelRegistry(filePath: string): ModelRegistryData | undefined;
|
|
31
|
+
export declare function getProfileModels(registry: ModelRegistryData, profileName: string): RegisterModelConfig[];
|
|
32
|
+
export declare function updateModelRegistry(options: UpdateModelRegistryOptions): {
|
|
33
|
+
path: string;
|
|
34
|
+
registry: ModelRegistryData;
|
|
35
|
+
existed: boolean;
|
|
36
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a6_0x2ac0b6=a6_0x7971;(function(_0x5406ae,_0x39d1a8){const _0xff4cf2=a6_0x7971,_0x25f95f=_0x5406ae();while(!![]){try{const _0x5223a9=-parseInt(_0xff4cf2(0x6c))/0x1*(parseInt(_0xff4cf2(0x82))/0x2)+-parseInt(_0xff4cf2(0xa8))/0x3+-parseInt(_0xff4cf2(0x9e))/0x4+-parseInt(_0xff4cf2(0x6d))/0x5*(parseInt(_0xff4cf2(0x88))/0x6)+-parseInt(_0xff4cf2(0x91))/0x7+-parseInt(_0xff4cf2(0x9f))/0x8+-parseInt(_0xff4cf2(0x78))/0x9*(-parseInt(_0xff4cf2(0x6e))/0xa);if(_0x5223a9===_0x39d1a8)break;else _0x25f95f['push'](_0x25f95f['shift']());}catch(_0x4bc97c){_0x25f95f['push'](_0x25f95f['shift']());}}}(a6_0x5b9b,0xa3fdb));import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a6_0x5b9b(){const _0x1c8348=['split','444havGZf','\x22\x20maps\x20to\x20alias\x20\x22','map','string','fromEntries','models','includes','\x22\x20in\x20the\x20registry\x20but\x20\x22','\x22\x20with\x20an\x20empty\x20result.\x20','1934513RnpAfz','utf8','keys','trim','slice','filter','\x20model(s)\x20in\x20profile\x20\x22','alias','outputDir','Table\x20\x22','key','runtimeDomain','length','558512QHNWAZ','7493040FNInuJ','profileName','push','profiles','Refusing\x20to\x20replace\x20','now','join','values','\x22\x20and\x20\x22','3740322DfdtCT','lovrabet-model-registry/v2','name','value','/**\x0a\x20*\x20Dataset\x20model\x20facts\x20generated\x20by\x20Rabetbase\x20CLI.\x0a\x20*\x0a\x20*\x20This\x20file\x20is\x20safe\x20to\x20commit.\x20Do\x20not\x20edit\x20it\x20manually\x20and\x20never\x20add\x20credentials.\x0a\x20*/\x0a\x0aexport\x20interface\x20LovrabetModelProfile\x20{\x0a\x20\x20appCode:\x20string;\x0a\x20\x20runtimeDomain:\x20string;\x0a}\x0a\x0aexport\x20interface\x20LovrabetModelEntryMetadata\x20{\x0a\x20\x20alias:\x20string;\x0a\x20\x20tableName:\x20string;\x0a\x20\x20name:\x20string;\x0a}\x0a\x0aexport\x20type\x20LovrabetModelEntry\x20=\x20LovrabetModelEntryMetadata\x20&\x20(\x0a\x20\x20|\x20{\x20datasetCode:\x20string;\x20datasetCodes?:\x20never\x20}\x0a\x20\x20|\x20{\x20datasetCode?:\x20never;\x20datasetCodes:\x20Record<string,\x20string>\x20}\x0a);\x0a\x0aexport\x20interface\x20LovrabetModelRegistry\x20{\x0a\x20\x20defaultProfile:\x20string;\x0a\x20\x20profiles:\x20Record<string,\x20LovrabetModelProfile>;\x0a\x20\x20models:\x20LovrabetModelEntry[];\x0a}\x0a\x0a','NOT-SET','entries','isArray','\x22\x20in\x20profile\x20\x22','get','1WyQmon','52665KJYOSD','30JUsfJd','\x20is\x20not\x20a\x20valid\x20Rabetbase\x20generated\x20file.\x20Move\x20or\x20repair\x20it\x20before\x20pulling\x20models\x20again.','defaultProfile','datasetCode','lovrabet-model-registry/v1','stringify','replace','indexOf','tableName','object','12956742nmBCAl','\x20as\x20const\x20satisfies\x20LovrabetModelRegistry;\x0a','set','\x0aexport\x20const\x20LOVRABET_MODEL_REGISTRY\x20=\x0a\x20\x20','parse','appCode','\x22\x20maps\x20to\x20both\x20\x22','protocol','test','model-runtime.ts','536748LTBGRA','/*\x20rabetbase-model-registry:start\x20*/','find','datasetCodes','.tmp'];a6_0x5b9b=function(){return _0x1c8348;};return a6_0x5b9b();}import a6_0xeb4e8f from'node:path';export const MODEL_REGISTRY_FILE_NAME='models.generated.ts';export const MODEL_RUNTIME_FILE_NAME=a6_0x2ac0b6(0x81);export const MODEL_REGISTRY_VERSION_MARKER='/*\x20rabetbase-model-registry:v2\x20*/';const LEGACY_MODEL_REGISTRY_V2_PROTOCOL=a6_0x2ac0b6(0xa9),REGISTRY_START=a6_0x2ac0b6(0x83),REGISTRY_END='/*\x20rabetbase-model-registry:end\x20*/';function emptyRegistry(_0x4729b1){return{'defaultProfile':_0x4729b1,'profiles':{},'models':[]};}function extractRegistryJson(_0x2a44e7){const _0x116271=a6_0x2ac0b6,_0x4c3eb9=_0x2a44e7[_0x116271(0x75)](REGISTRY_START),_0x30be31=_0x2a44e7['indexOf'](REGISTRY_END);if(_0x4c3eb9<0x0||_0x30be31<=_0x4c3eb9)return undefined;return _0x2a44e7['slice'](_0x4c3eb9+REGISTRY_START[_0x116271(0x9d)],_0x30be31)[_0x116271(0x94)]()[_0x116271(0x74)](/\s+as const satisfies LovrabetModelRegistry;?$/,'')[_0x116271(0x74)](/;$/,'');}function migrateLegacyRegistry(_0x289530){const _0x396a0f=a6_0x2ac0b6,_0x2f52dc=emptyRegistry(_0x289530[_0x396a0f(0x70)]);for(const [_0x2c4d4c,_0x40f658]of Object[_0x396a0f(0xae)](_0x289530['profiles'])){_0x2f52dc[_0x396a0f(0xa2)][_0x2c4d4c]={'appCode':_0x40f658['appCode'],'runtimeDomain':_0x40f658['runtimeDomain']},mergeProfileModels(_0x2f52dc,_0x2c4d4c,_0x40f658[_0x396a0f(0x8d)]);}return _0x2f52dc;}function generatedObjectLiteralToJson(_0x3fa475){const _0x401560=a6_0x2ac0b6;let _0x4034e5='',_0x317e02,_0x5a82f3=![],_0x397aa;for(let _0x4c522d=0x0;_0x4c522d<_0x3fa475[_0x401560(0x9d)];_0x4c522d++){const _0xbfa5cc=_0x3fa475[_0x4c522d];if(_0x317e02){_0x4034e5+=_0xbfa5cc;if(_0x5a82f3)_0x5a82f3=![];else{if(_0xbfa5cc==='\x5c')_0x5a82f3=!![];else{if(_0xbfa5cc===_0x317e02)_0x317e02=undefined;}}continue;}if(_0xbfa5cc==='\x22'){_0x317e02=_0xbfa5cc,_0x4034e5+=_0xbfa5cc,_0x397aa='value';continue;}if(_0xbfa5cc===','){let _0x485948=_0x4c522d+0x1;while(/\s/[_0x401560(0x80)](_0x3fa475[_0x485948]??''))_0x485948++;if(_0x3fa475[_0x485948]==='}'||_0x3fa475[_0x485948]===']')continue;_0x4034e5+=_0xbfa5cc,_0x397aa=',';continue;}if(_0xbfa5cc==='{'||_0xbfa5cc==='['){_0x4034e5+=_0xbfa5cc,_0x397aa=_0xbfa5cc;continue;}if(_0xbfa5cc==='}'||_0xbfa5cc===']'){_0x4034e5+=_0xbfa5cc,_0x397aa=_0xbfa5cc;continue;}if((_0x397aa==='{'||_0x397aa===',')&&/[A-Za-z_$]/['test'](_0xbfa5cc)){let _0x54360f=_0x4c522d+0x1;while(/[A-Za-z0-9_$]/[_0x401560(0x80)](_0x3fa475[_0x54360f]??''))_0x54360f++;let _0x5cfed1=_0x54360f;while(/\s/['test'](_0x3fa475[_0x5cfed1]??''))_0x5cfed1++;if(_0x3fa475[_0x5cfed1]===':'){_0x4034e5+=JSON[_0x401560(0x73)](_0x3fa475[_0x401560(0x95)](_0x4c522d,_0x54360f)),_0x4c522d=_0x54360f-0x1,_0x397aa=_0x401560(0x9b);continue;}}_0x4034e5+=_0xbfa5cc;if(!/\s/[_0x401560(0x80)](_0xbfa5cc)&&_0xbfa5cc!==':')_0x397aa=_0x401560(0xab);}return _0x4034e5;}function parseGeneratedRegistryJson(_0x4597ec){const _0x202d51=a6_0x2ac0b6;try{return JSON['parse'](_0x4597ec);}catch{return JSON[_0x202d51(0x7c)](generatedObjectLiteralToJson(_0x4597ec));}}function normalizeModelEntries(_0xcda159,_0x579bc0){const _0xc25b66=a6_0x2ac0b6,_0x50a199=Object['keys'](_0xcda159),_0x142ed1=[];for(const _0x18f7a4 of _0x579bc0){if(!_0x18f7a4||typeof _0x18f7a4!==_0xc25b66(0x77)||Array[_0xc25b66(0xaf)](_0x18f7a4))return undefined;const _0x19e06e=_0x18f7a4;if(typeof _0x19e06e[_0xc25b66(0x98)]!==_0xc25b66(0x8b)||typeof _0x19e06e[_0xc25b66(0x76)]!=='string'||typeof _0x19e06e['name']!==_0xc25b66(0x8b))return undefined;let _0x173269;if(typeof _0x19e06e[_0xc25b66(0x71)]===_0xc25b66(0x8b)&&_0x19e06e[_0xc25b66(0x85)]===undefined)_0x173269=Object[_0xc25b66(0x8c)](_0x50a199[_0xc25b66(0x8a)](_0x256705=>[_0x256705,_0x19e06e['datasetCode']]));else{if(_0x19e06e['datasetCode']===undefined&&_0x19e06e[_0xc25b66(0x85)]&&typeof _0x19e06e[_0xc25b66(0x85)]===_0xc25b66(0x77)&&!Array['isArray'](_0x19e06e[_0xc25b66(0x85)])&&Object[_0xc25b66(0xa6)](_0x19e06e[_0xc25b66(0x85)])['every'](_0x11d3c3=>typeof _0x11d3c3==='string'))_0x173269={..._0x19e06e[_0xc25b66(0x85)]};else return undefined;}_0x142ed1[_0xc25b66(0xa1)]({'alias':_0x19e06e[_0xc25b66(0x98)],'tableName':_0x19e06e[_0xc25b66(0x76)],'name':_0x19e06e[_0xc25b66(0xaa)],'datasetCodes':_0x173269});}return _0x142ed1;}export function parseModelRegistry(_0x3051e8){const _0xa7d8dc=a6_0x2ac0b6,_0x30c9a8=extractRegistryJson(_0x3051e8);if(!_0x30c9a8)return undefined;try{const _0x190114=parseGeneratedRegistryJson(_0x30c9a8);if(typeof _0x190114[_0xa7d8dc(0x70)]!==_0xa7d8dc(0x8b)||!_0x190114[_0xa7d8dc(0xa2)]||typeof _0x190114[_0xa7d8dc(0xa2)]!=='object')return undefined;if(_0x190114[_0xa7d8dc(0x7f)]===_0xa7d8dc(0x72))return migrateLegacyRegistry(_0x190114);if(!(_0x190114[_0xa7d8dc(0x7f)]===LEGACY_MODEL_REGISTRY_V2_PROTOCOL||_0x190114[_0xa7d8dc(0x7f)]===undefined&&_0x3051e8[_0xa7d8dc(0x8e)](MODEL_REGISTRY_VERSION_MARKER))||!Array['isArray'](_0x190114['models']))return undefined;const _0x9e2ca7=_0x190114['profiles'],_0x17a354=normalizeModelEntries(_0x9e2ca7,_0x190114[_0xa7d8dc(0x8d)]);if(!_0x17a354)return undefined;return{'defaultProfile':_0x190114['defaultProfile'],'profiles':_0x9e2ca7,'models':_0x17a354};}catch{return undefined;}}export function readModelRegistry(_0x220713){if(!existsSync(_0x220713))return undefined;try{return parseModelRegistry(readFileSync(_0x220713,'utf8'));}catch{return undefined;}}function registrySource(_0x8955cf){const _0x142cf7=a6_0x2ac0b6,_0x44d539=Object['keys'](_0x8955cf['profiles']),_0x4f8fa9=_0x8955cf[_0x142cf7(0x8d)]['map'](_0x3c416b=>{const _0xaadaa1=_0x142cf7,_0x73ca1e=_0x44d539['map'](_0x485ef1=>_0x3c416b[_0xaadaa1(0x85)][_0x485ef1]),_0x3064a5=_0x73ca1e[0x0],_0x4179bf=_0x3064a5!==undefined&&_0x73ca1e['every'](_0x5467e5=>_0x5467e5===_0x3064a5),_0x417ed5={'alias':_0x3c416b[_0xaadaa1(0x98)],'tableName':_0x3c416b[_0xaadaa1(0x76)],'name':_0x3c416b['name']};return _0x4179bf?{..._0x417ed5,'datasetCode':_0x3064a5}:{..._0x417ed5,'datasetCodes':_0x3c416b[_0xaadaa1(0x85)]};}),_0x47bd4d=JSON['stringify']({'defaultProfile':_0x8955cf[_0x142cf7(0x70)],'profiles':_0x8955cf[_0x142cf7(0xa2)],'models':_0x4f8fa9},null,0x2)[_0x142cf7(0x87)]('\x0a')[_0x142cf7(0x8a)](_0x5f5425=>'\x20\x20'+_0x5f5425)[_0x142cf7(0xa5)]('\x0a');return _0x142cf7(0xac)+MODEL_REGISTRY_VERSION_MARKER+_0x142cf7(0x7b)+REGISTRY_START+'\x0a'+_0x47bd4d+_0x142cf7(0x79)+REGISTRY_END+'\x0a';}function mergeProfileModels(_0x1c77b0,_0x3a7ba9,_0x112536){const _0x415a4b=a6_0x2ac0b6,_0x7240ff=_0x112536[_0x415a4b(0x8a)](_0x5d3ea5=>({..._0x5d3ea5,'alias':_0x5d3ea5[_0x415a4b(0x98)]||_0x5d3ea5['tableName']})),_0x30c1de=new Map(),_0x4f1e37=new Map();for(const _0x3232d6 of _0x7240ff){const _0x43bc0b=_0x30c1de[_0x415a4b(0x6b)](_0x3232d6[_0x415a4b(0x98)]);if(_0x43bc0b&&_0x43bc0b!==_0x3232d6[_0x415a4b(0x76)])throw new Error('Model\x20alias\x20\x22'+_0x3232d6[_0x415a4b(0x98)]+_0x415a4b(0x7e)+_0x43bc0b+_0x415a4b(0xa7)+_0x3232d6[_0x415a4b(0x76)]+_0x415a4b(0xb0)+_0x3a7ba9+'\x22.');const _0x5cb9b3=_0x4f1e37[_0x415a4b(0x6b)](_0x3232d6['tableName']);if(_0x5cb9b3&&_0x5cb9b3!==_0x3232d6['alias'])throw new Error(_0x415a4b(0x9a)+_0x3232d6[_0x415a4b(0x76)]+'\x22\x20maps\x20to\x20both\x20aliases\x20\x22'+_0x5cb9b3+_0x415a4b(0xa7)+_0x3232d6[_0x415a4b(0x98)]+_0x415a4b(0xb0)+_0x3a7ba9+'\x22.');_0x30c1de[_0x415a4b(0x7a)](_0x3232d6['alias'],_0x3232d6['tableName']),_0x4f1e37[_0x415a4b(0x7a)](_0x3232d6[_0x415a4b(0x76)],_0x3232d6[_0x415a4b(0x98)]);const _0x158420=_0x1c77b0[_0x415a4b(0x8d)]['find'](_0x2092a4=>_0x2092a4[_0x415a4b(0x98)]===_0x3232d6['alias']);if(_0x158420&&_0x158420[_0x415a4b(0x76)]!==_0x3232d6['tableName'])throw new Error('Model\x20alias\x20\x22'+_0x3232d6[_0x415a4b(0x98)]+'\x22\x20maps\x20to\x20table\x20\x22'+_0x158420['tableName']+_0x415a4b(0x8f)+_0x3232d6['tableName']+'\x22\x20in\x20profile\x20\x22'+_0x3a7ba9+'\x22.');const _0xa6b104=_0x1c77b0['models'][_0x415a4b(0x84)](_0x273c7f=>_0x273c7f['tableName']===_0x3232d6['tableName']);if(_0xa6b104&&_0xa6b104['alias']!==_0x3232d6['alias'])throw new Error(_0x415a4b(0x9a)+_0x3232d6['tableName']+_0x415a4b(0x89)+_0xa6b104['alias']+_0x415a4b(0x8f)+_0x3232d6['alias']+_0x415a4b(0xb0)+_0x3a7ba9+'\x22.');}for(const _0x5180fb of _0x1c77b0[_0x415a4b(0x8d)]){delete _0x5180fb[_0x415a4b(0x85)][_0x3a7ba9];}for(const _0x4f035e of _0x7240ff){let _0x2d509f=_0x1c77b0[_0x415a4b(0x8d)][_0x415a4b(0x84)](_0x2e8044=>_0x2e8044[_0x415a4b(0x98)]===_0x4f035e[_0x415a4b(0x98)]);!_0x2d509f&&(_0x2d509f={'alias':_0x4f035e['alias'],'tableName':_0x4f035e[_0x415a4b(0x76)],'name':_0x4f035e[_0x415a4b(0xaa)],'datasetCodes':{}},_0x1c77b0[_0x415a4b(0x8d)][_0x415a4b(0xa1)](_0x2d509f)),(_0x3a7ba9===_0x1c77b0[_0x415a4b(0x70)]||!_0x2d509f[_0x415a4b(0x85)][_0x1c77b0[_0x415a4b(0x70)]])&&(_0x2d509f[_0x415a4b(0x98)]=_0x4f035e[_0x415a4b(0x98)],_0x2d509f[_0x415a4b(0x76)]=_0x4f035e[_0x415a4b(0x76)],_0x2d509f[_0x415a4b(0xaa)]=_0x4f035e[_0x415a4b(0xaa)]),_0x2d509f['datasetCodes'][_0x3a7ba9]=_0x4f035e[_0x415a4b(0x71)];}_0x1c77b0['models']=_0x1c77b0[_0x415a4b(0x8d)]['filter'](_0x361efd=>Object[_0x415a4b(0x93)](_0x361efd[_0x415a4b(0x85)])[_0x415a4b(0x9d)]>0x0);}function a6_0x7971(_0xd4df43,_0x18b9b4){_0xd4df43=_0xd4df43-0x6b;const _0x5b9bfc=a6_0x5b9b();let _0x79718a=_0x5b9bfc[_0xd4df43];return _0x79718a;}function removeUnboundProfiles(_0x2cbc47){const _0x459c4e=a6_0x2ac0b6,_0x510203=Object[_0x459c4e(0xae)](_0x2cbc47[_0x459c4e(0xa2)])[_0x459c4e(0x96)](([,_0x4128fb])=>_0x4128fb[_0x459c4e(0x7d)]===_0x459c4e(0xad))['map'](([_0x108225])=>_0x108225);if(_0x510203[_0x459c4e(0x9d)]===0x0)return;for(const _0x38a989 of _0x510203){delete _0x2cbc47[_0x459c4e(0xa2)][_0x38a989];for(const _0x428adb of _0x2cbc47[_0x459c4e(0x8d)]){delete _0x428adb[_0x459c4e(0x85)][_0x38a989];}}_0x2cbc47['models']=_0x2cbc47[_0x459c4e(0x8d)][_0x459c4e(0x96)](_0x43caf0=>Object['keys'](_0x43caf0[_0x459c4e(0x85)])[_0x459c4e(0x9d)]>0x0);}export function getProfileModels(_0x38e801,_0x164b93){const _0x31e0fe=a6_0x2ac0b6;return _0x38e801[_0x31e0fe(0x8d)]['flatMap'](_0x2c3e32=>{const _0x58d9a7=_0x31e0fe,_0x5623f7=_0x2c3e32['datasetCodes'][_0x164b93];return _0x5623f7?[{'datasetCode':_0x5623f7,'tableName':_0x2c3e32[_0x58d9a7(0x76)],'name':_0x2c3e32[_0x58d9a7(0xaa)],'alias':_0x2c3e32['alias']}]:[];});}export function updateModelRegistry(_0x4aad8f){const _0x23cb15=a6_0x2ac0b6,_0x467b60=a6_0xeb4e8f['join'](_0x4aad8f[_0x23cb15(0x99)],MODEL_REGISTRY_FILE_NAME),_0x4983a5=existsSync(_0x467b60),_0x2a5452=readModelRegistry(_0x467b60);if(_0x4983a5&&!_0x2a5452)throw new Error(MODEL_REGISTRY_FILE_NAME+_0x23cb15(0x6f));const _0x3a5864=_0x2a5452??emptyRegistry(_0x4aad8f[_0x23cb15(0x70)]);if(_0x4aad8f[_0x23cb15(0x7d)]!==_0x23cb15(0xad))removeUnboundProfiles(_0x3a5864);const _0x3860d1=_0x2a5452?getProfileModels(_0x2a5452,_0x4aad8f[_0x23cb15(0xa0)])['length']:0x0;if(_0x3860d1>0x0&&_0x4aad8f[_0x23cb15(0x8d)]['length']===0x0&&!_0x4aad8f['allowEmptyReplacement'])throw new Error(_0x23cb15(0xa3)+_0x3860d1+_0x23cb15(0x97)+_0x4aad8f[_0x23cb15(0xa0)]+_0x23cb15(0x90)+'Verify\x20the\x20selected\x20app\x20and\x20login,\x20or\x20rerun\x20with\x20--force\x20--yes\x20if\x20the\x20profile\x20is\x20intentionally\x20empty.');_0x3a5864[_0x23cb15(0x70)]=_0x4aad8f['defaultProfile'],_0x3a5864[_0x23cb15(0xa2)][_0x4aad8f[_0x23cb15(0xa0)]]={'appCode':_0x4aad8f[_0x23cb15(0x7d)],'runtimeDomain':_0x4aad8f[_0x23cb15(0x9c)]},mergeProfileModels(_0x3a5864,_0x4aad8f['profileName'],_0x4aad8f['models']),mkdirSync(_0x4aad8f[_0x23cb15(0x99)],{'recursive':!![]});const _0x20e8a7=_0x467b60+'.'+process['pid']+'.'+Date[_0x23cb15(0xa4)]()+_0x23cb15(0x86);try{writeFileSync(_0x20e8a7,registrySource(_0x3a5864),{'encoding':_0x23cb15(0x92),'mode':0x1a4}),renameSync(_0x20e8a7,_0x467b60);}catch(_0x3fd605){try{unlinkSync(_0x20e8a7);}catch{}throw _0x3fd605;}return{'path':_0x467b60,'registry':_0x3a5864,'existed':_0x4983a5};}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface ModelRegistryScaffold {
|
|
2
|
+
api: string;
|
|
3
|
+
client: string;
|
|
4
|
+
modelRuntime: string;
|
|
5
|
+
}
|
|
6
|
+
/** Render the CLI-owned stable entrypoints from the packaged templates. */
|
|
7
|
+
export declare function renderModelRegistryScaffold(outputDir: string, projectRoot?: string): Promise<ModelRegistryScaffold>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a7_0x1e3e5a=a7_0x1394;(function(_0xd7b5ef,_0xf6cff4){const _0x3b822f=a7_0x1394,_0x48c8ac=_0xd7b5ef();while(!![]){try{const _0x36140f=-parseInt(_0x3b822f(0xf2))/0x1*(parseInt(_0x3b822f(0xe3))/0x2)+-parseInt(_0x3b822f(0xde))/0x3+-parseInt(_0x3b822f(0xe7))/0x4*(-parseInt(_0x3b822f(0xea))/0x5)+-parseInt(_0x3b822f(0xe6))/0x6+parseInt(_0x3b822f(0xe5))/0x7+parseInt(_0x3b822f(0xef))/0x8*(parseInt(_0x3b822f(0xda))/0x9)+parseInt(_0x3b822f(0xe0))/0xa*(parseInt(_0x3b822f(0xeb))/0xb);if(_0x36140f===_0xf6cff4)break;else _0x48c8ac['push'](_0x48c8ac['shift']());}catch(_0x538203){_0x48c8ac['push'](_0x48c8ac['shift']());}}}(a7_0x2d83,0xa29a4));import{readFileSync}from'node:fs';function a7_0x2d83(){const _0x6e80ff=['utf8','resolve','3776922PXnbHS','typescript','70qGWHHY','cwd','format','1793532hSbRnq','join','9193023NyqyLj','961872okrMIe','661988gnEsRL','all','model-runtime.ts.tpl','10EtNgbP','469491SnocOh','relative','../../templates/generate-api','profile-api.ts.tpl','328naDEEV','startsWith','replace','1xojdIr','228078sAkdgf','{ProjectRoutingImport}'];a7_0x2d83=function(){return _0x6e80ff;};return a7_0x2d83();}import a7_0x367ad4 from'node:path';function a7_0x1394(_0x426723,_0x433779){_0x426723=_0x426723-0xda;const _0x2d834b=a7_0x2d83();let _0x139486=_0x2d834b[_0x426723];return _0x139486;}import{fileURLToPath}from'node:url';import a7_0x33d088 from'prettier';import{PROJECT_DOMAIN_ROUTING_FILE_NAME}from'../config/project-domain-routing.js';function relativeImport(_0x298bc7,_0x1cb7d2){const _0xb2f58f=a7_0x1394;let _0x5b0270=a7_0x367ad4[_0xb2f58f(0xec)](_0x298bc7,_0x1cb7d2)['replace'](/\\/g,'/');if(!_0x5b0270[_0xb2f58f(0xf0)]('.'))_0x5b0270='./'+_0x5b0270;return _0x5b0270;}export async function renderModelRegistryScaffold(_0x169841,_0x48b2b9=process[a7_0x1e3e5a(0xe1)]()){const _0x50c5e0=a7_0x1e3e5a,_0x14718d=fileURLToPath(import.meta.url),_0x193d51=a7_0x367ad4[_0x50c5e0(0xdd)](a7_0x367ad4['dirname'](_0x14718d),_0x50c5e0(0xed)),_0x3ee028=relativeImport(a7_0x367ad4[_0x50c5e0(0xdd)](_0x169841),a7_0x367ad4[_0x50c5e0(0xdd)](_0x48b2b9,PROJECT_DOMAIN_ROUTING_FILE_NAME)),_0x28ddd9=readFileSync(a7_0x367ad4[_0x50c5e0(0xe4)](_0x193d51,_0x50c5e0(0xee)),_0x50c5e0(0xdc))[_0x50c5e0(0xf1)](_0x50c5e0(0xdb),_0x3ee028),[_0x2dd89b,_0x3839f6,_0x312e26]=await Promise[_0x50c5e0(0xe8)]([a7_0x33d088[_0x50c5e0(0xe2)](_0x28ddd9,{'parser':_0x50c5e0(0xdf)}),a7_0x33d088['format'](readFileSync(a7_0x367ad4[_0x50c5e0(0xe4)](_0x193d51,'profile-client.ts.tpl'),'utf8'),{'parser':_0x50c5e0(0xdf)}),a7_0x33d088['format'](readFileSync(a7_0x367ad4['join'](_0x193d51,_0x50c5e0(0xe9)),'utf8'),{'parser':'typescript'})]);return{'api':_0x2dd89b,'client':_0x3839f6,'modelRuntime':_0x312e26};}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface ApiModelSource {
|
|
2
|
+
filePath: string;
|
|
3
|
+
profileName?: string;
|
|
4
|
+
}
|
|
5
|
+
/** Resolve generated model facts without guessing between duplicate AppCodes. */
|
|
6
|
+
export declare function resolveApiModelSource(apiDir: string, appCode?: string, selectedAppName?: string): ApiModelSource;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a8_0x4037(){const _0x3e668c=['apiDir','api.ts','profiles','find','defaultApp','538376aVIpVs','8MrJsbE','cwd','10126930XmwYUc','\x22\x20is\x20missing\x20from\x20','string','map','\x20api\x20pull\x20--app\x20','Select\x20the\x20target\x20explicitly\x20with\x20--app\x20<profile>.','entries','apps','AppCode\x20\x22','validation','appCode','length','\x22\x20belongs\x20to\x20multiple\x20model\x20profiles:\x20','515sZdDCv','46809zmSFfg','1028016NGkUFx','resolve','568vYLOqm','613635oSFRUc','-api.ts','defaultProfile','join','131256TpeWhB','27516kofhcv'];a8_0x4037=function(){return _0x3e668c;};return a8_0x4037();}(function(_0x35850d,_0x4a8fc1){const _0x3cbdfb=a8_0x31c6,_0x3cca22=_0x35850d();while(!![]){try{const _0x39b3ae=-parseInt(_0x3cbdfb(0x81))/0x1+-parseInt(_0x3cbdfb(0x93))/0x2+parseInt(_0x3cbdfb(0x96))/0x3*(parseInt(_0x3cbdfb(0x82))/0x4)+parseInt(_0x3cbdfb(0x91))/0x5*(parseInt(_0x3cbdfb(0x7b))/0x6)+parseInt(_0x3cbdfb(0x92))/0x7*(-parseInt(_0x3cbdfb(0x95))/0x8)+-parseInt(_0x3cbdfb(0x9a))/0x9+parseInt(_0x3cbdfb(0x84))/0xa;if(_0x39b3ae===_0x4a8fc1)break;else _0x3cca22['push'](_0x3cca22['shift']());}catch(_0x4efd3f){_0x3cca22['push'](_0x3cca22['shift']());}}}(a8_0x4037,0x5608c));import{existsSync}from'node:fs';import a8_0x5ef9ba from'node:path';import{readRawConfig}from'../context/config-loader.js';function a8_0x31c6(_0x45bc66,_0x2c6357){_0x45bc66=_0x45bc66-0x7b;const _0x4037df=a8_0x4037();let _0x31c670=_0x4037df[_0x45bc66];return _0x31c670;}import{MODEL_REGISTRY_FILE_NAME,readModelRegistry}from'../api/model-registry-file.js';import{CliErrors}from'../errors.js';import{CLI_BIN_NAME}from'../constant/cli.js';export function resolveApiModelSource(_0x451aa9,_0x143bd4,_0x5287df){const _0x5461c9=a8_0x31c6,_0x43d410=a8_0x5ef9ba[_0x5461c9(0x94)](process[_0x5461c9(0x83)](),_0x451aa9),_0x295380=a8_0x5ef9ba['resolve'](_0x43d410,_0x5461c9(0x7d)),_0x2a5153=a8_0x5ef9ba[_0x5461c9(0x94)](_0x43d410,MODEL_REGISTRY_FILE_NAME),_0x19101e=readModelRegistry(_0x2a5153);if(_0x19101e){const _0x5c374c=_0x143bd4?Object[_0x5461c9(0x8a)](_0x19101e[_0x5461c9(0x7e)])['filter'](([,_0x171b16])=>_0x171b16[_0x5461c9(0x8e)]===_0x143bd4):[];if(_0x5287df){if(_0x19101e[_0x5461c9(0x7e)][_0x5287df])return{'filePath':_0x2a5153,'profileName':_0x5287df};if(_0x5c374c[_0x5461c9(0x8f)]>0x0)throw CliErrors[_0x5461c9(0x8d)]('Model\x20profile\x20\x22'+_0x5287df+_0x5461c9(0x85)+MODEL_REGISTRY_FILE_NAME+'.','Run\x20`'+CLI_BIN_NAME+_0x5461c9(0x88)+_0x5287df+'`\x20first.');}else{if(_0x5c374c[_0x5461c9(0x8f)]===0x1)return{'filePath':_0x2a5153,'profileName':_0x5c374c[0x0][0x0]};if(_0x5c374c[_0x5461c9(0x8f)]>0x1)throw new Error(_0x5461c9(0x8c)+_0x143bd4+_0x5461c9(0x90)+_0x5c374c[_0x5461c9(0x87)](([_0x48d08e])=>_0x48d08e)[_0x5461c9(0x99)](',\x20')+'.\x20'+_0x5461c9(0x89));if(_0x19101e['profiles'][_0x19101e[_0x5461c9(0x98)]]&&!_0x143bd4)return{'filePath':_0x2a5153,'profileName':_0x19101e[_0x5461c9(0x98)]};}}if(!_0x143bd4&&!_0x5287df)return{'filePath':_0x295380};const _0x4aaa7e=readRawConfig(),_0x3231fe=_0x4aaa7e[_0x5461c9(0x8b)]&&typeof _0x4aaa7e[_0x5461c9(0x8b)]==='object'?_0x4aaa7e['apps']:{},_0x44f5ae=_0x5287df&&_0x3231fe[_0x5287df]?[_0x5287df,_0x3231fe[_0x5287df]]:Object[_0x5461c9(0x8a)](_0x3231fe)[_0x5461c9(0x7f)](([,_0xa71501])=>_0xa71501?.['appcode']===_0x143bd4);if(!_0x44f5ae)return{'filePath':_0x295380};const [_0x172985,_0x250b35]=_0x44f5ae,_0x41fe46=typeof _0x4aaa7e[_0x5461c9(0x80)]===_0x5461c9(0x86)?_0x4aaa7e[_0x5461c9(0x80)]:undefined;if(_0x250b35?.[_0x5461c9(0x7c)])return{'filePath':_0x295380};if(_0x41fe46&&_0x172985!==_0x41fe46){const _0x54eefe=a8_0x5ef9ba[_0x5461c9(0x94)](_0x43d410,_0x172985+_0x5461c9(0x97));if(existsSync(_0x54eefe))return{'filePath':_0x54eefe};}return{'filePath':_0x295380};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x14d6ad,_0x246ec3){const _0x2b5da2=a9_0x5510,_0x13edbd=_0x14d6ad();while(!![]){try{const _0x478cbb=parseInt(_0x2b5da2(0xc1))/0x1+-parseInt(_0x2b5da2(0xbe))/0x2+parseInt(_0x2b5da2(0xb8))/0x3*(-parseInt(_0x2b5da2(0xbb))/0x4)+-parseInt(_0x2b5da2(0xb5))/0x5*(-parseInt(_0x2b5da2(0xc6))/0x6)+parseInt(_0x2b5da2(0xba))/0x7+-parseInt(_0x2b5da2(0xc7))/0x8*(parseInt(_0x2b5da2(0xb1))/0x9)+parseInt(_0x2b5da2(0xbc))/0xa*(parseInt(_0x2b5da2(0xb6))/0xb);if(_0x478cbb===_0x246ec3)break;else _0x13edbd['push'](_0x13edbd['shift']());}catch(_0xba19c2){_0x13edbd['push'](_0x13edbd['shift']());}}}(a9_0x2df1,0xe803c));function a9_0x5510(_0x4e2369,_0x251308){_0x4e2369=_0x4e2369-0xb1;const _0x2df169=a9_0x2df1();let _0x5510fd=_0x2df169[_0x4e2369];return _0x5510fd;}import{getIsSessionValid}from'../auth/is-session-valid.js';import{authServer}from'../auth/auth-server.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{CliErrors}from'../errors.js';import{confirm}from'@inquirer/prompts';import a9_0x414b0d from'ora';export async function runAuthServer(_0x203b13){const _0x394a12=a9_0x5510,_0x37fe63=await getIsSessionValid();if(_0x37fe63){console['log'](_0x394a12(0xb9));return;}if(_0x203b13?.[_0x394a12(0xc3)]&&!_0x203b13[_0x394a12(0xbf)])throw CliErrors[_0x394a12(0xc2)](_0x394a12(0xc9),_0x394a12(0xb4)+CLI_BIN_NAME+'\x20auth\x20login\x20--yes`\x20and\x20open\x20the\x20printed\x20URL\x20in\x20your\x20browser.');const _0x2a42d4=_0x203b13?.[_0x394a12(0xbf)]?!![]:await confirm({'message':_0x394a12(0xc0),'default':!![]});if(!_0x2a42d4)return;if(_0x203b13?.['nonInteractive']){console['log'](_0x394a12(0xb3));const _0x225e12=await authServer({'silent':![],'openBrowser':![]});_0x225e12?console[_0x394a12(0xc5)]('*\x20Login\x20successful!'):console[_0x394a12(0xc5)](_0x394a12(0xbd));return;}const _0x37fcb5=a9_0x414b0d(_0x394a12(0xb2))[_0x394a12(0xc8)](),_0x285ec5=await authServer({'silent':!![],'openBrowser':!![]});_0x37fcb5[_0x394a12(0xb7)](),_0x285ec5?console[_0x394a12(0xc5)](_0x394a12(0xc4)):console['log']('!\x20Login\x20failed.');}function a9_0x2df1(){const _0x109e11=['Starting\x20browser\x20login.\x20Share\x20the\x20printed\x20URL\x20with\x20the\x20user.','Run\x20`','540745tCwwrn','2622653zlElOQ','stop','3lHePCe','โ\x20Valid\x20session\x20detected,\x20no\x20login\x20required.','12041498KwKUkk','6214124hUkYuH','30uEJzqu','!\x20Login\x20failed.','618138izKErI','autoYes','No\x20valid\x20session.\x20Login\x20now?','479637JtcjRr','validation','nonInteractive','*\x20Login\x20successful!','log','78rAvvWd','1000rPxQtk','start','Browser\x20login\x20cannot\x20run\x20in\x20non-interactive\x20mode.','108585MlEnlg','Logging\x20in...\x20Please\x20complete\x20login\x20in\x20your\x20browser.'];a9_0x2df1=function(){return _0x109e11;};return a9_0x2df1();}
|
package/lib/auth/auth-server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a10_0x2a4c6f=a10_0x5602;(function(_0x572db2,_0x132075){const _0x4942e1=a10_0x5602,_0xd87b13=_0x572db2();while(!![]){try{const _0x3ebf77=parseInt(_0x4942e1(0x7b))/0x1+-parseInt(_0x4942e1(0x6a))/0x2+-parseInt(_0x4942e1(0x68))/0x3+-parseInt(_0x4942e1(0x6d))/0x4*(parseInt(_0x4942e1(0x78))/0x5)+parseInt(_0x4942e1(0x83))/0x6*(-parseInt(_0x4942e1(0x87))/0x7)+-parseInt(_0x4942e1(0x71))/0x8*(parseInt(_0x4942e1(0x67))/0x9)+parseInt(_0x4942e1(0x8a))/0xa*(parseInt(_0x4942e1(0x86))/0xb);if(_0x3ebf77===_0x132075)break;else _0xd87b13['push'](_0xd87b13['shift']());}catch(_0x48ddae){_0xd87b13['push'](_0xd87b13['shift']());}}}(a10_0xa76d,0xee98d));import{writeFileSync}from'node:fs';function a10_0x5602(_0x2e4b4f,_0x5b4e7a){_0x2e4b4f=_0x2e4b4f-0x64;const _0xa76d74=a10_0xa76d();let _0x5602ea=_0xa76d74[_0x2e4b4f];return _0x5602ea;}import a10_0xa66b7c from'node:http';import a10_0x2d0d4b from'node:https';import{getUserDomain}from'../constant/domain.js';import{getOfficialRoutingCdn,getOfficialRoutingProfile}from'../constant/routing-profile.js';import{getProjectDomainRoutingManifest}from'../config/project-domain-routing.js';import{exec}from'node:child_process';import{getIsSessionValid}from'../auth/is-session-valid.js';import{cookieFile}from'../auth/constant.js';import{buildLoginSuccessHtml}from'../auth/login-success-html.js';export const AUTH_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;export function resolveAuthCallbackRouting(_0x28c8ca){const _0x51183f=a10_0x5602;if(!_0x28c8ca)return getProjectDomainRoutingManifest()['local'];const _0x1766fa=getOfficialRoutingProfile(_0x28c8ca),_0x46fccf=getOfficialRoutingCdn(_0x28c8ca);return{'origin':_0x1766fa[_0x51183f(0x70)][_0x51183f(0x84)],'certificateUrl':_0x46fccf[_0x51183f(0x69)]+'/cert/lovrabet-dev.json'};}function withPort(_0x4833b6,_0x37fc0e){const _0x27b94a=new URL(_0x4833b6);return _0x27b94a['port']=String(_0x37fc0e),_0x27b94a['origin'];}export async function authServer(_0x48fac7){const _0x1cd598=a10_0x5602,_0x205b5c=_0x48fac7?.[_0x1cd598(0x79)]||![],_0x5669fb=_0x48fac7?.[_0x1cd598(0x7d)]??!![],_0x18971c=_0x48fac7?.[_0x1cd598(0x93)]??AUTH_LOGIN_TIMEOUT_MS;if(await getIsSessionValid())return!![];const _0x13cc92=resolveAuthCallbackRouting(),_0x5bcdd9=_0x13cc92[_0x1cd598(0x72)]?await(await fetch(_0x13cc92[_0x1cd598(0x72)]))[_0x1cd598(0x65)]():undefined;return new Promise(async(_0x321a45,_0x331918)=>{const _0x1def4c=_0x1cd598;let _0x35d3e8=0x0,_0x5305b7=![],_0x556075;const _0x2d6011=async(_0xc0d1e2,_0x3e2bef)=>{const _0x5a57fe=a10_0x5602,_0x333bca=getUserDomain(),_0x308427=_0xc0d1e2['headers'][_0x5a57fe(0x89)]||'',_0x4a34a8=await fetch(_0x333bca+_0x5a57fe(0x8c),{'headers':{'cookie':_0x308427}})['then'](_0x37b4d1=>_0x37b4d1[_0x5a57fe(0x65)]()),_0x48f95c=_0x4a34a8&&_0x4a34a8['session']&&_0x4a34a8[_0x5a57fe(0x8e)];if(_0x48f95c){writeFileSync(cookieFile,_0x308427,'utf-8');const _0x3da776=buildLoginSuccessHtml();_0x3e2bef[_0x5a57fe(0x82)](0xc8,{'Content-Type':_0x5a57fe(0x8b)}),_0x3e2bef['end'](_0x3da776),_0x55fcb8(!![]);}else{const _0x52f740=encodeURIComponent(withPort(_0x13cc92['origin'],_0x35d3e8));_0x3e2bef[_0x5a57fe(0x82)](0x12e,{'location':_0x333bca+_0x5a57fe(0x6c)+_0x52f740}),_0x3e2bef[_0x5a57fe(0x88)]();return;}},_0x1f1b81=_0x5bcdd9?a10_0x2d0d4b[_0x1def4c(0x77)](_0x5bcdd9,_0x2d6011):a10_0xa66b7c[_0x1def4c(0x77)](_0x2d6011);function _0x55fcb8(_0x1db668){if(_0x5305b7)return;_0x5305b7=!![],_0x556075&&clearTimeout(_0x556075),_0x1f1b81['close'](),_0x321a45(_0x1db668);}_0x1f1b81[_0x1def4c(0x94)](0x0,_0x1def4c(0x8f),()=>{const _0x4d3e3f=_0x1def4c,_0xc2ca35=_0x1f1b81['address']();_0x35d3e8=typeof _0xc2ca35===_0x4d3e3f(0x73)&&_0xc2ca35?_0xc2ca35['port']:Number(_0xc2ca35);const _0x200144=withPort(_0x13cc92[_0x4d3e3f(0x84)],_0x35d3e8);_0x556075=setTimeout(()=>{const _0x3a2ee8=_0x4d3e3f;!_0x205b5c&&console[_0x3a2ee8(0x7f)]('!\x20Login\x20URL\x20expired\x20after\x2010\x20minutes.\x20Run\x20the\x20login\x20command\x20again\x20to\x20get\x20a\x20new\x20URL.'),_0x55fcb8(![]);},_0x18971c);!_0x205b5c&&(console[_0x4d3e3f(0x7f)](_0x4d3e3f(0x6b)),console[_0x4d3e3f(0x7f)](_0x4d3e3f(0x91),_0x200144),_0x5669fb?(console['log'](_0x4d3e3f(0x7a)),console[_0x4d3e3f(0x7f)](''),console[_0x4d3e3f(0x7f)](_0x4d3e3f(0x7c))):console['log'](_0x4d3e3f(0x85)),console[_0x4d3e3f(0x7f)](''));if(!_0x5669fb)return;openInBrowser(_0x200144)[_0x4d3e3f(0x76)](_0x280df2=>{const _0x54e8db=_0x4d3e3f;!_0x205b5c&&(_0x280df2?console['log'](_0x54e8db(0x66)):(console['log'](_0x54e8db(0x6f)),console[_0x54e8db(0x7f)](_0x54e8db(0x8d),_0x200144)),console[_0x54e8db(0x7f)](''));})[_0x4d3e3f(0x74)](()=>{const _0x356580=_0x4d3e3f;!_0x205b5c&&(console[_0x356580(0x7f)]('โ ๏ธ\x20\x20Failed\x20to\x20open\x20browser\x20automatically'),console[_0x356580(0x7f)](_0x356580(0x8d),_0x200144),console['log'](''));});}),_0x1f1b81['on'](_0x1def4c(0x6e),_0x4e9a0a=>{const _0x2dd15a=_0x1def4c;if(_0x5305b7)return;_0x5305b7=!![],_0x556075&&clearTimeout(_0x556075),!_0x205b5c&&console['error'](_0x2dd15a(0x92),_0x4e9a0a),_0x1f1b81[_0x2dd15a(0x81)](),_0x331918(_0x4e9a0a);});});}function a10_0xa76d(){const _0x998b2=['โ
\x20Browser\x20opened.\x20Please\x20complete\x20login\x20in\x20the\x20browser.','4792329wNuPxl','3011640zcsijM','lovrabet','3313178LkXggs','๐\x20Starting\x20login\x20service...','/sign-in?redirect=','512XoqNxo','error','โ ๏ธ\x20\x20Failed\x20to\x20open\x20browser\x20automatically','local','8qcCZbI','certificateUrl','object','catch','platform','then','createServer','4345HRfbLz','silent','๐\x20Attempting\x20to\x20open\x20browser\x20automatically...','1166832SdInoL','๐ก\x20If\x20the\x20browser\x20does\x20not\x20open\x20automatically,\x20copy\x20the\x20login\x20URL\x20above\x20into\x20your\x20browser.','openBrowser','win32','log','cmd\x20/c\x20start\x20\x22\x22\x20\x22','close','writeHead','1087518NFosGx','origin','๐ก\x20Open\x20the\x20login\x20URL\x20above\x20in\x20your\x20browser\x20to\x20complete\x20authorization.','47454nEzwwt','7WRWeqY','end','cookie','7640PuGIhz','text/html;\x20charset=utf-8','/api/auth/get-session','๐\x20Please\x20copy\x20the\x20login\x20URL\x20into\x20your\x20browser:','user','127.0.0.1','isAuth','๐\x20Login\x20URL:','Auth\x20server\x20error:','timeoutMs','listen','darwin','json'];a10_0xa76d=function(){return _0x998b2;};return a10_0xa76d();}function openInBrowser(_0x581951){return new Promise(_0x1a1aae=>{const _0xa7cd64=a10_0x5602,_0x143fec=process[_0xa7cd64(0x75)];let _0x5c2b81;if(_0x143fec===_0xa7cd64(0x7e))_0x5c2b81=_0xa7cd64(0x80)+_0x581951+'\x22';else _0x143fec===_0xa7cd64(0x64)?_0x5c2b81='open\x20\x22'+_0x581951+'\x22':_0x5c2b81='xdg-open\x20\x22'+_0x581951+'\x22';exec(_0x5c2b81,_0x51bbf6=>{_0x51bbf6?_0x1a1aae(![]):_0x1a1aae(!![]);});});}if(import.meta.main){const isAuth=await authServer();console[a10_0x2a4c6f(0x7f)](a10_0x2a4c6f(0x90),isAuth);}
|
package/lib/auth/constant.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a11_0x583545=a11_0x4c44;function a11_0x4c44(_0x2c0cad,_0x13ff86){_0x2c0cad=_0x2c0cad-0xc4;const _0x4174c3=a11_0x4174();let _0x4c4451=_0x4174c3[_0x2c0cad];return _0x4c4451;}function a11_0x4174(){const _0x181fff=['cookie','143CrGuvh','2642761yqtgrd','5pYoGgh','9FofQkD','10IQXweu','.lovrabet','359364AqbtpD','150516TJAeIJ','35MhFgXb','1168365UHctWB','3bkfQeP','39118VWieTo','15684KoHNdO','1627352oyMKot'];a11_0x4174=function(){return _0x181fff;};return a11_0x4174();}(function(_0x3e425a,_0x49187c){const _0x55bdec=a11_0x4c44,_0x1c2f85=_0x3e425a();while(!![]){try{const _0x238e5b=parseInt(_0x55bdec(0xc6))/0x1*(-parseInt(_0x55bdec(0xcf))/0x2)+parseInt(_0x55bdec(0xce))/0x3*(-parseInt(_0x55bdec(0xd0))/0x4)+parseInt(_0x55bdec(0xcd))/0x5+parseInt(_0x55bdec(0xcb))/0x6*(-parseInt(_0x55bdec(0xcc))/0x7)+-parseInt(_0x55bdec(0xd1))/0x8*(-parseInt(_0x55bdec(0xc7))/0x9)+parseInt(_0x55bdec(0xc8))/0xa*(parseInt(_0x55bdec(0xc5))/0xb)+parseInt(_0x55bdec(0xca))/0xc*(-parseInt(_0x55bdec(0xc4))/0xd);if(_0x238e5b===_0x49187c)break;else _0x1c2f85['push'](_0x1c2f85['shift']());}catch(_0x29853e){_0x1c2f85['push'](_0x1c2f85['shift']());}}}(a11_0x4174,0x1d7cc));import{mkdirSync}from'node:fs';import{homedir}from'node:os';import{join}from'node:path';export const configDir=join(homedir(),a11_0x583545(0xc9));export const cookieFile=join(configDir,a11_0x583545(0xd2));mkdirSync(configDir,{'recursive':!![]});
|
package/lib/auth/get-cookie.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x26eab9,_0x38310d){var _0x3e8724=a12_0x15d8,_0x19cb07=_0x26eab9();while(!![]){try{var _0x56658a=-parseInt(_0x3e8724(0xe9))/0x1+-parseInt(_0x3e8724(0xe5))/0x2+-parseInt(_0x3e8724(0xe4))/0x3*(-parseInt(_0x3e8724(0xe0))/0x4)+parseInt(_0x3e8724(0xe1))/0x5+parseInt(_0x3e8724(0xe7))/0x6+-parseInt(_0x3e8724(0xdf))/0x7*(-parseInt(_0x3e8724(0xe3))/0x8)+parseInt(_0x3e8724(0xe2))/0x9*(-parseInt(_0x3e8724(0xe6))/0xa);if(_0x56658a===_0x38310d)break;else _0x19cb07['push'](_0x19cb07['shift']());}catch(_0x5392ce){_0x19cb07['push'](_0x19cb07['shift']());}}}(a12_0x56f5,0x7640b));import{readFileSync}from'node:fs';import{cookieFile}from'../auth/constant.js';export function getCookie(){var _0x439f96=a12_0x15d8;try{return readFileSync(cookieFile,_0x439f96(0xe8));}catch{}return'';}function a12_0x15d8(_0x34e17b,_0x43cb2c){_0x34e17b=_0x34e17b-0xdf;var _0x56f598=a12_0x56f5();var _0x15d8e0=_0x56f598[_0x34e17b];return _0x15d8e0;}function a12_0x56f5(){var _0x3f35f8=['1187602UToSLX','40930iwurhg','5560002veQdNL','utf-8','248123AIzKzT','133hWQSsN','118676zVADCe','1980595thSvQM','3033fLUkni','269944SoIJjt','75IEQEal'];a12_0x56f5=function(){return _0x3f35f8;};return a12_0x56f5();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x34cf61,_0xf3d924){const _0x4b3f26=a13_0x4046,_0x1a7ccf=_0x34cf61();while(!![]){try{const _0x2e450e=-parseInt(_0x4b3f26(0xe3))/0x1*(-parseInt(_0x4b3f26(0xec))/0x2)+parseInt(_0x4b3f26(0xe9))/0x3*(-parseInt(_0x4b3f26(0xe5))/0x4)+parseInt(_0x4b3f26(0xea))/0x5+-parseInt(_0x4b3f26(0xeb))/0x6*(-parseInt(_0x4b3f26(0xe8))/0x7)+-parseInt(_0x4b3f26(0xed))/0x8+-parseInt(_0x4b3f26(0xe7))/0x9+-parseInt(_0x4b3f26(0xe6))/0xa*(-parseInt(_0x4b3f26(0xef))/0xb);if(_0x2e450e===_0xf3d924)break;else _0x1a7ccf['push'](_0x1a7ccf['shift']());}catch(_0x1da9e7){_0x1a7ccf['push'](_0x1a7ccf['shift']());}}}(a13_0x13c1,0x38ff5));function a13_0x4046(_0x50abc8,_0x216375){_0x50abc8=_0x50abc8-0xe1;const _0x13c15c=a13_0x13c1();let _0x404615=_0x13c15c[_0x50abc8];return _0x404615;}import{existsSync,readFileSync}from'node:fs';import{getUserDomain}from'../constant/domain.js';import{cookieFile}from'../auth/constant.js';function a13_0x13c1(){const _0x5001ed=['user','session','1kwHyHq','/api/auth/get-session','68616cttmcp','10koWRaR','2536056dyVDXW','17682TPBxQk','78uVNcYy','2225920xlSXWG','618rPsZty','607704kEuSKG','2141824LqPfbm','utf-8','2417393swKCfM','json'];a13_0x13c1=function(){return _0x5001ed;};return a13_0x13c1();}export async function getSessionUserInfo(){const _0x372c83=a13_0x4046;try{if(!existsSync(cookieFile))return null;const _0x52fc1b=readFileSync(cookieFile,_0x372c83(0xee)),_0x33c59c=await fetch(getUserDomain()+_0x372c83(0xe4),{'headers':{'cookie':_0x52fc1b}});if(!_0x33c59c['ok'])return null;const _0x27c334=await _0x33c59c[_0x372c83(0xf0)]();if(!_0x27c334[_0x372c83(0xe2)]||!_0x27c334[_0x372c83(0xe1)])return null;return _0x27c334;}catch{return null;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a14_0x5a3a(){const _0x36b815=['then','696UdxJyh','148HUmKoe','525209iKRqcO','session','84210Bkcuzc','utf-8','203ZDMTsc','1880568kidTuX','/api/auth/get-session','11670QchMSK','5718272xRLfcN','7584230lWIkJN','1893yBXPJc'];a14_0x5a3a=function(){return _0x36b815;};return a14_0x5a3a();}(function(_0x20b2b5,_0x3a3e2e){const _0x2ebddf=a14_0x1745,_0x32c87e=_0x20b2b5();while(!![]){try{const _0x1f2aeb=parseInt(_0x2ebddf(0x18e))/0x1+-parseInt(_0x2ebddf(0x18c))/0x2*(-parseInt(_0x2ebddf(0x18a))/0x3)+-parseInt(_0x2ebddf(0x18d))/0x4*(parseInt(_0x2ebddf(0x187))/0x5)+parseInt(_0x2ebddf(0x190))/0x6*(-parseInt(_0x2ebddf(0x192))/0x7)+parseInt(_0x2ebddf(0x188))/0x8+parseInt(_0x2ebddf(0x193))/0x9+-parseInt(_0x2ebddf(0x189))/0xa;if(_0x1f2aeb===_0x3a3e2e)break;else _0x32c87e['push'](_0x32c87e['shift']());}catch(_0x4ff834){_0x32c87e['push'](_0x32c87e['shift']());}}}(a14_0x5a3a,0x65be1));import{existsSync,readFileSync}from'node:fs';function a14_0x1745(_0x5a4c29,_0xc19b2a){_0x5a4c29=_0x5a4c29-0x186;const _0x5a3ab9=a14_0x5a3a();let _0x17458f=_0x5a3ab9[_0x5a4c29];return _0x17458f;}import{getUserDomain}from'../constant/domain.js';import{cookieFile}from'../auth/constant.js';export async function getIsSessionValid(){const _0x236d01=a14_0x1745;try{if(!existsSync(cookieFile))return![];const _0x5b7425=readFileSync(cookieFile,_0x236d01(0x191)),_0xeba0e5=await fetch(getUserDomain()+_0x236d01(0x186),{'headers':{'cookie':_0x5b7425}})[_0x236d01(0x18b)](_0x2a3951=>_0x2a3951['json']());return _0xeba0e5&&_0xeba0e5[_0x236d01(0x18f)]&&_0xeba0e5['user'];}catch{}return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x272a33,_0x469369){const _0x3ea9fe=a15_0x46b1,_0x3aa3b3=_0x272a33();while(!![]){try{const _0x531f02=parseInt(_0x3ea9fe(0x107))/0x1*(parseInt(_0x3ea9fe(0x10b))/0x2)+-parseInt(_0x3ea9fe(0x105))/0x3*(parseInt(_0x3ea9fe(0x10e))/0x4)+-parseInt(_0x3ea9fe(0x109))/0x5*(parseInt(_0x3ea9fe(0x103))/0x6)+parseInt(_0x3ea9fe(0x10c))/0x7+-parseInt(_0x3ea9fe(0x104))/0x8+parseInt(_0x3ea9fe(0x10f))/0x9+-parseInt(_0x3ea9fe(0x10d))/0xa*(-parseInt(_0x3ea9fe(0x102))/0xb);if(_0x531f02===_0x469369)break;else _0x3aa3b3['push'](_0x3aa3b3['shift']());}catch(_0x44e5c0){_0x3aa3b3['push'](_0x3aa3b3['shift']());}}}(a15_0x1c90,0x7ff91));function a15_0x46b1(_0x50175e,_0x1e5437){_0x50175e=_0x50175e-0x102;const _0x1c9099=a15_0x1c90();let _0x46b1fb=_0x1c9099[_0x50175e];return _0x46b1fb;}function a15_0x1c90(){const _0x3fae8e=['</div>\x0a\x20\x20\x20\x20<p\x20class=\x22cli-hint\x22>Rabetbase\x20CLI\x20ยท\x20session\x20saved\x20locally</p>\x0a\x20\x20</div>\x0a\x20\x20<script>\x0a\x20\x20(function(){\x0a\x20\x20\x20\x20var\x20t\x20=\x205;\x0a\x20\x20\x20\x20var\x20el\x20=\x20document.getElementById(\x27t\x27);\x0a\x20\x20\x20\x20var\x20manual\x20=\x20document.getElementById(\x27manualMsg\x27);\x0a\x20\x20\x20\x20var\x20id\x20=\x20setInterval(function(){\x0a\x20\x20\x20\x20\x20\x20t--;\x0a\x20\x20\x20\x20\x20\x20if\x20(t\x20<=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20clearInterval(id);\x0a\x20\x20\x20\x20\x20\x20\x20\x20el.textContent\x20=\x20\x270\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x20window.close();\x20}\x20catch(e)\x20{}\x0a\x20\x20\x20\x20\x20\x20\x20\x20setTimeout(function(){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!window.closed)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20manual.style.display\x20=\x20\x27block\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x20300);\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20el.textContent\x20=\x20String(t);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20},\x201000);\x0a\x20\x20})();\x0a\x20\x20</script>\x0a</body>\x0a</html>','5AeyxMG','Unable\x20to\x20close\x20automatically.\x20Please\x20close\x20this\x20tab\x20or\x20window\x20manually.','1649786yZDuZj','3179351GqicfR','386170UGLwuv','424828qGGfGf','8167716xFbDpW','11ejouFx','2564274NysSKy','6790744qNjCuZ','12YOiBya','<!doctype\x20html>\x0a<html\x20lang=\x22en\x22>\x0a<head>\x0a\x20\x20<meta\x20charset=\x22utf-8\x22>\x0a\x20\x20<meta\x20name=\x22viewport\x22\x20content=\x22width=device-width,\x20initial-scale=1\x22>\x0a\x20\x20<title>Login\x20successful\x20ยท\x20Rabetbase\x20CLI</title>\x0a\x20\x20<style>\x0a\x20\x20\x20\x20:root\x20{\x0a\x20\x20\x20\x20\x20\x20--bg0:\x20#0f1419;\x0a\x20\x20\x20\x20\x20\x20--bg1:\x20#1a2332;\x0a\x20\x20\x20\x20\x20\x20--card:\x20#ffffff;\x0a\x20\x20\x20\x20\x20\x20--text:\x20#1c2128;\x0a\x20\x20\x20\x20\x20\x20--muted:\x20#5c6570;\x0a\x20\x20\x20\x20\x20\x20--accent:\x20#2563eb;\x0a\x20\x20\x20\x20\x20\x20--accent-soft:\x20#eff6ff;\x0a\x20\x20\x20\x20\x20\x20--success:\x20#059669;\x0a\x20\x20\x20\x20\x20\x20--radius:\x2016px;\x0a\x20\x20\x20\x20\x20\x20--shadow:\x200\x2025px\x2050px\x20-12px\x20rgba(15,\x2020,\x2025,\x200.35);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20*\x20{\x20box-sizing:\x20border-box;\x20}\x0a\x20\x20\x20\x20body\x20{\x0a\x20\x20\x20\x20\x20\x20margin:\x200;\x0a\x20\x20\x20\x20\x20\x20min-height:\x20100vh;\x0a\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20\x20\x20padding:\x2024px;\x0a\x20\x20\x20\x20\x20\x20font-family:\x20ui-sans-serif,\x20system-ui,\x20-apple-system,\x20\x22Segoe\x20UI\x22,\x20Roboto,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22Helvetica\x20Neue\x22,\x20Arial,\x20\x22Noto\x20Sans\x22,\x20\x22PingFang\x20SC\x22,\x20\x22Microsoft\x20YaHei\x22,\x20sans-serif;\x0a\x20\x20\x20\x20\x20\x20background:\x20linear-gradient(160deg,\x20var(--bg0)\x200%,\x20var(--bg1)\x2045%,\x20#243047\x20100%);\x0a\x20\x20\x20\x20\x20\x20color:\x20var(--text);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.card\x20{\x0a\x20\x20\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20\x20\x20max-width:\x20420px;\x0a\x20\x20\x20\x20\x20\x20background:\x20var(--card);\x0a\x20\x20\x20\x20\x20\x20border-radius:\x20var(--radius);\x0a\x20\x20\x20\x20\x20\x20box-shadow:\x20var(--shadow);\x0a\x20\x20\x20\x20\x20\x20padding:\x2040px\x2036px\x2032px;\x0a\x20\x20\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.icon\x20{\x0a\x20\x20\x20\x20\x20\x20width:\x2064px;\x0a\x20\x20\x20\x20\x20\x20height:\x2064px;\x0a\x20\x20\x20\x20\x20\x20margin:\x200\x20auto\x2020px;\x0a\x20\x20\x20\x20\x20\x20border-radius:\x2050%;\x0a\x20\x20\x20\x20\x20\x20background:\x20var(--accent-soft);\x0a\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.icon\x20svg\x20{\x20width:\x2036px;\x20height:\x2036px;\x20}\x0a\x20\x20\x20\x20h1\x20{\x0a\x20\x20\x20\x20\x20\x20margin:\x200\x200\x2012px;\x0a\x20\x20\x20\x20\x20\x20font-size:\x201.375rem;\x0a\x20\x20\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20\x20\x20\x20\x20letter-spacing:\x20-0.02em;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20p.lead\x20{\x0a\x20\x20\x20\x20\x20\x20margin:\x200\x200\x208px;\x0a\x20\x20\x20\x20\x20\x20font-size:\x200.9375rem;\x0a\x20\x20\x20\x20\x20\x20color:\x20var(--muted);\x0a\x20\x20\x20\x20\x20\x20line-height:\x201.55;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.countdown\x20{\x0a\x20\x20\x20\x20\x20\x20display:\x20inline-flex;\x0a\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20gap:\x206px;\x0a\x20\x20\x20\x20\x20\x20margin-top:\x2016px;\x0a\x20\x20\x20\x20\x20\x20padding:\x208px\x2014px;\x0a\x20\x20\x20\x20\x20\x20font-size:\x200.875rem;\x0a\x20\x20\x20\x20\x20\x20font-variant-numeric:\x20tabular-nums;\x0a\x20\x20\x20\x20\x20\x20color:\x20var(--accent);\x0a\x20\x20\x20\x20\x20\x20background:\x20var(--accent-soft);\x0a\x20\x20\x20\x20\x20\x20border-radius:\x20999px;\x0a\x20\x20\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20#manualMsg\x20{\x0a\x20\x20\x20\x20\x20\x20display:\x20none;\x0a\x20\x20\x20\x20\x20\x20margin-top:\x2020px;\x0a\x20\x20\x20\x20\x20\x20font-size:\x200.8125rem;\x0a\x20\x20\x20\x20\x20\x20color:\x20#b91c1c;\x0a\x20\x20\x20\x20\x20\x20line-height:\x201.45;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.cli-hint\x20{\x0a\x20\x20\x20\x20\x20\x20margin-top:\x2028px;\x0a\x20\x20\x20\x20\x20\x20padding-top:\x2024px;\x0a\x20\x20\x20\x20\x20\x20border-top:\x201px\x20solid\x20#e8ecf0;\x0a\x20\x20\x20\x20\x20\x20font-size:\x200.75rem;\x0a\x20\x20\x20\x20\x20\x20color:\x20#8b949e;\x0a\x20\x20\x20\x20}\x0a\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20<div\x20class=\x22card\x22\x20role=\x22status\x22\x20aria-live=\x22polite\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22icon\x22\x20aria-hidden=\x22true\x22>\x0a\x20\x20\x20\x20\x20\x20<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20xmlns=\x22http://www.w3.org/2000/svg\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<circle\x20cx=\x2212\x22\x20cy=\x2212\x22\x20r=\x2210\x22\x20stroke=\x22#059669\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<path\x20d=\x22M8\x2012.5l2.5\x202.5L16\x209\x22\x20stroke=\x22#059669\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22/>\x0a\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<h1>Login\x20successful</h1>\x0a\x20\x20\x20\x20<p\x20class=\x22lead\x22>You\x20can\x20return\x20to\x20the\x20terminal\x20to\x20continue.\x20This\x20window\x20will\x20try\x20to\x20close\x20automatically.</p>\x0a\x20\x20\x20\x20<div\x20class=\x22countdown\x22>\x0a\x20\x20\x20\x20\x20\x20Closing\x20in\x20<span\x20id=\x22t\x22>5</span>s\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20id=\x22manualMsg\x22>','1dKgzlZ'];a15_0x1c90=function(){return _0x3fae8e;};return a15_0x1c90();}export function buildLoginSuccessHtml(){const _0xc6e4c2=a15_0x46b1,_0x2c5cbd=_0xc6e4c2(0x10a);return _0xc6e4c2(0x106)+_0x2c5cbd+_0xc6e4c2(0x108);}
|
package/lib/auth/logout.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a16_0x719c(_0xd332ae,_0x41f239){_0xd332ae=_0xd332ae-0x8c;var _0x12d5d9=a16_0x12d5();var _0x719c6f=_0x12d5d9[_0xd332ae];return _0x719c6f;}(function(_0x49f309,_0x2fd2bb){var _0x293f3b=a16_0x719c,_0x47041a=_0x49f309();while(!![]){try{var _0x5f5938=-parseInt(_0x293f3b(0x8f))/0x1*(parseInt(_0x293f3b(0x90))/0x2)+parseInt(_0x293f3b(0x8d))/0x3+parseInt(_0x293f3b(0x93))/0x4+parseInt(_0x293f3b(0x95))/0x5+-parseInt(_0x293f3b(0x94))/0x6+-parseInt(_0x293f3b(0x92))/0x7*(parseInt(_0x293f3b(0x97))/0x8)+-parseInt(_0x293f3b(0x96))/0x9;if(_0x5f5938===_0x2fd2bb)break;else _0x47041a['push'](_0x47041a['shift']());}catch(_0x2d5899){_0x47041a['push'](_0x47041a['shift']());}}}(a16_0x12d5,0x52894));import{unlinkSync,existsSync}from'node:fs';function a16_0x12d5(){var _0x35501d=['1467092SpkHgx','1003200LvnhcG','2121150ZxGdRD','2951820LjvcZp','174904eOuEAT','โ\x20Logged\x20out','495558mebUvj','!\x20Not\x20logged\x20in','15843zpQgRm','10bmnYNi','log','14uAJYSX'];a16_0x12d5=function(){return _0x35501d;};return a16_0x12d5();}import{cookieFile}from'../auth/constant.js';export function logout(){var _0x5a67b8=a16_0x719c;existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x5a67b8(0x91)](_0x5a67b8(0x8c))):console[_0x5a67b8(0x91)](_0x5a67b8(0x8e));}
|
package/lib/cli-flags.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a17_0x2609(){const _0x59a3ca=['40BGSaNT','7273HdGqRy','588782rtTFXM','536264fAQhZw','558639vbhpEx','8760411BTRsfZ','9920sorUis','293880EGjwBw','436172oQcZhX'];a17_0x2609=function(){return _0x59a3ca;};return a17_0x2609();}function a17_0x2006(_0x4b8867,_0xf94b20){_0x4b8867=_0x4b8867-0x189;const _0x26092a=a17_0x2609();let _0x2006a4=_0x26092a[_0x4b8867];return _0x2006a4;}(function(_0x3b59e2,_0x10dc66){const _0x3b5e0b=a17_0x2006,_0x481bca=_0x3b59e2();while(!![]){try{const _0x55ab53=-parseInt(_0x3b5e0b(0x18f))/0x1+-parseInt(_0x3b5e0b(0x190))/0x2+parseInt(_0x3b5e0b(0x191))/0x3+parseInt(_0x3b5e0b(0x18c))/0x4*(-parseInt(_0x3b5e0b(0x18d))/0x5)+-parseInt(_0x3b5e0b(0x18b))/0x6+parseInt(_0x3b5e0b(0x18e))/0x7*(parseInt(_0x3b5e0b(0x18a))/0x8)+parseInt(_0x3b5e0b(0x189))/0x9;if(_0x55ab53===_0x10dc66)break;else _0x481bca['push'](_0x481bca['shift']());}catch(_0x4a46c7){_0x481bca['push'](_0x481bca['shift']());}}}(a17_0x2609,0xa3812));export const dynamicCliFlags={'enableBffSave':{'type':'boolean'}};
|