@lovrabet/rabetbase-cli 2.5.3-beta.2 → 2.5.3-beta.3
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.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 +12 -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 +4 -1
- package/skills/rabetbase/SKILL.md +10 -6
- package/skills/rabetbase/guides/sdk-client-generation.md +112 -61
- 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 +60 -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 +4 -3
- package/templates/README.md +16 -4
- 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
|
+
(function(_0x119e5d,_0x133956){const _0x3c4c4a=a0_0x5db0,_0x70e54f=_0x119e5d();while(!![]){try{const _0xe68222=parseInt(_0x3c4c4a(0x19c))/0x1*(parseInt(_0x3c4c4a(0x194))/0x2)+parseInt(_0x3c4c4a(0x18c))/0x3*(-parseInt(_0x3c4c4a(0x197))/0x4)+-parseInt(_0x3c4c4a(0x182))/0x5*(-parseInt(_0x3c4c4a(0x187))/0x6)+-parseInt(_0x3c4c4a(0x17e))/0x7*(-parseInt(_0x3c4c4a(0x18b))/0x8)+parseInt(_0x3c4c4a(0x185))/0x9*(-parseInt(_0x3c4c4a(0x198))/0xa)+parseInt(_0x3c4c4a(0x19a))/0xb*(parseInt(_0x3c4c4a(0x180))/0xc)+-parseInt(_0x3c4c4a(0x18e))/0xd*(parseInt(_0x3c4c4a(0x199))/0xe);if(_0xe68222===_0x133956)break;else _0x70e54f['push'](_0x70e54f['shift']());}catch(_0x25ae4f){_0x70e54f['push'](_0x70e54f['shift']());}}}(a0_0x3158,0xbdd70));function a0_0x5db0(_0x52f4d0,_0x5499c3){_0x52f4d0=_0x52f4d0-0x17d;const _0x3158f6=a0_0x3158();let _0x5db090=_0x3158f6[_0x52f4d0];return _0x5db090;}import{mkdirSync,writeFileSync}from'node:fs';import a0_0x2cc60d from'node:path';import{fetchDatasetDoc}from'../core/api-client.js';function a0_0x3158(){const _0x33b716=['api-doc','Generated\x20docs\x20successfully:\x20','name','38472NJtGGK','5961JPBIqE','.md\x20(','35113NQhLOi','datasetCode','length','✗\x20Failed:\x20','.md','error','27498RGeREj','.md\x20-\x20','success','2692snIRvo','240tktSGt','5068lNSYdg','22ZjFkGB','message','22SMlaWd','log','1869pjFeKg','✓\x20Generated:\x20','3740316SaZvJW','push','536590DvGzVT','\x20datasets\x20to\x20generate\x20docs\x20for\x0a','Waiting\x203\x20seconds...\x0a','111663BsSmga',']\x20Generating:\x20','66IcsrrF'];a0_0x3158=function(){return _0x33b716;};return a0_0x3158();}import{logger}from'../utils/logger.js';export{fetchDatasetDoc}from'../core/api-client.js';function delay(_0x1dcb8a){return new Promise(_0x345f87=>setTimeout(_0x345f87,_0x1dcb8a));}export async function generateDatasetDocs(_0x9d9f22,_0x516a50,_0x45f65e,_0x3f1049='./docs',_0x49a2b2,_0x47650c){const _0x4fa8a3=a0_0x5db0;mkdirSync(_0x3f1049,{'recursive':!![]});const _0x5e144d=[],_0x504a91=_0x9d9f22[_0x4fa8a3(0x190)];console['log']('\x0a'+_0x504a91+_0x4fa8a3(0x183));for(let _0x527d56=0x0;_0x527d56<_0x9d9f22['length'];_0x527d56++){const _0x28a9b6=_0x9d9f22[_0x527d56],_0x1a367d=_0x527d56+0x1,_0x99859f=_0x28a9b6['tableName'];try{console[_0x4fa8a3(0x17d)]('['+_0x1a367d+'/'+_0x504a91+_0x4fa8a3(0x186)+_0x99859f+_0x4fa8a3(0x18d)+_0x28a9b6[_0x4fa8a3(0x18a)]+')');if(_0x49a2b2)_0x49a2b2(_0x1a367d,_0x504a91,_0x99859f);const _0x5cd972=await fetchDatasetDoc({'appCode':_0x516a50,'cookie':_0x45f65e,'datasetCode':_0x28a9b6['datasetCode'],'datasetId':_0x28a9b6['id'],'enableAI':![],'extraParams':_0x47650c}),_0x1a1acd=a0_0x2cc60d['join'](_0x3f1049,_0x99859f+_0x4fa8a3(0x192));writeFileSync(_0x1a1acd,_0x5cd972,{'encoding':'utf8'}),console[_0x4fa8a3(0x17d)](_0x4fa8a3(0x17f)+_0x99859f+'.md'),logger[_0x4fa8a3(0x196)](_0x4fa8a3(0x188),_0x4fa8a3(0x189)+_0x99859f,undefined,{'datasetCode':_0x28a9b6[_0x4fa8a3(0x18f)],'datasetName':_0x28a9b6[_0x4fa8a3(0x18a)],'filePath':_0x1a1acd,'progress':_0x1a367d+'/'+_0x504a91}),_0x5e144d[_0x4fa8a3(0x181)]({'datasetCode':_0x28a9b6['datasetCode'],'datasetName':_0x28a9b6[_0x4fa8a3(0x18a)],'filePath':_0x1a1acd,'success':!![]});if(_0x1a367d<_0x504a91)await delay(0x1388);}catch(_0x374148){const _0x38344c=_0x374148 instanceof Error?_0x374148[_0x4fa8a3(0x19b)]:String(_0x374148);console[_0x4fa8a3(0x17d)](_0x4fa8a3(0x191)+_0x99859f+_0x4fa8a3(0x195)+_0x38344c),logger[_0x4fa8a3(0x193)](_0x4fa8a3(0x188),'Failed\x20to\x20generate\x20docs:\x20'+_0x28a9b6[_0x4fa8a3(0x18f)],{'datasetCode':_0x28a9b6[_0x4fa8a3(0x18f)],'datasetName':_0x28a9b6['name'],'error':_0x38344c,'progress':_0x1a367d+'/'+_0x504a91}),_0x5e144d['push']({'datasetCode':_0x28a9b6['datasetCode'],'datasetName':_0x28a9b6[_0x4fa8a3(0x18a)],'filePath':'','success':![],'error':_0x38344c}),_0x1a367d<_0x504a91&&(console[_0x4fa8a3(0x17d)](_0x4fa8a3(0x184)),await delay(0xbb8));}}return _0x5e144d;}
|
|
@@ -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_0x17ed(){const _0x58b2ef=['1168uKsoUP','map','get','normalizedApiDir','some','32795WjPiyA','app','1146vjDynD','23971ENacTv','.\x20Use\x20a\x20different\x20apiDir\x20for\x20a\x20separate\x20API.','\x22\x20resolves\x20to\x20multiple\x20API\x20directories.','cwd','36549ChRygY','add','20295720uYGyit','flatMap','filter','join','10803415qEjdJa','apiGroup','outputDir','5094092vuBQJr','1966LcQGdX','set','size','\x22\x20is\x20assigned\x20to\x20incompatible\x20API\x20groups.','Profiles\x20in\x20the\x20same\x20API\x20group\x20must\x20use\x20the\x20same\x20apiDir.','1947KaweBA','push'];a1_0x17ed=function(){return _0x58b2ef;};return a1_0x17ed();}function a1_0x1b6d(_0x930b67,_0x36325b){_0x930b67=_0x930b67-0x13d;const _0x17ed02=a1_0x17ed();let _0x1b6d7b=_0x17ed02[_0x930b67];return _0x1b6d7b;}const a1_0x83bacf=a1_0x1b6d;(function(_0x1b896d,_0x2ad63e){const _0x4f8f4c=a1_0x1b6d,_0x5459cb=_0x1b896d();while(!![]){try{const _0x4e62ac=parseInt(_0x4f8f4c(0x142))/0x1+-parseInt(_0x4f8f4c(0x150))/0x2*(-parseInt(_0x4f8f4c(0x155))/0x3)+parseInt(_0x4f8f4c(0x14f))/0x4+parseInt(_0x4f8f4c(0x13f))/0x5*(-parseInt(_0x4f8f4c(0x141))/0x6)+parseInt(_0x4f8f4c(0x14c))/0x7+parseInt(_0x4f8f4c(0x157))/0x8*(parseInt(_0x4f8f4c(0x146))/0x9)+-parseInt(_0x4f8f4c(0x148))/0xa;if(_0x4e62ac===_0x2ad63e)break;else _0x5459cb['push'](_0x5459cb['shift']());}catch(_0x6d3115){_0x5459cb['push'](_0x5459cb['shift']());}}}(a1_0x17ed,0xc0b7b));import a1_0x2f8555 from'node:path';import{CliErrors}from'../errors.js';export function normalizeApiDir(_0x3dca78,_0x12bab1=process[a1_0x83bacf(0x145)]()){return a1_0x2f8555['resolve'](_0x12bab1,_0x3dca78);}function normalizedApiGroup(_0x5679e2){const _0x4c586a=_0x5679e2?.['trim']();return _0x4c586a||undefined;}export function resolveApiProfileLayouts(_0x241977,_0x44c18f,_0x5ee074=process[a1_0x83bacf(0x145)]()){const _0x44282b=a1_0x83bacf,_0x78dac4=_0x241977[_0x44282b(0x158)](_0x1c2d83=>{const _0x6f50f2=_0x44282b,_0x6b4ba8=_0x44c18f(_0x1c2d83);return{'app':_0x1c2d83,'outputDir':_0x6b4ba8,'normalizedApiDir':normalizeApiDir(_0x6b4ba8,_0x5ee074),'apiGroup':normalizedApiGroup(_0x1c2d83[_0x6f50f2(0x14d)])};}),_0x465301=new Map();for(const _0x32eed9 of _0x78dac4){if(!_0x32eed9[_0x44282b(0x14d)])continue;const _0x105124=_0x465301[_0x44282b(0x159)](_0x32eed9['apiGroup'])??new Set();_0x105124[_0x44282b(0x147)](_0x32eed9['normalizedApiDir']),_0x465301[_0x44282b(0x151)](_0x32eed9[_0x44282b(0x14d)],_0x105124);}for(const [_0x455e88,_0x17fc39]of _0x465301){if(_0x17fc39[_0x44282b(0x152)]>0x1)throw CliErrors['validation']('API\x20group\x20\x22'+_0x455e88+_0x44282b(0x144),_0x44282b(0x154));}const _0x63dde=new Map();for(const _0x1aaef9 of _0x78dac4){const _0x394c5f=_0x63dde['get'](_0x1aaef9[_0x44282b(0x13d)])??[];_0x394c5f[_0x44282b(0x156)](_0x1aaef9),_0x63dde['set'](_0x1aaef9['normalizedApiDir'],_0x394c5f);}for(const _0x164407 of _0x63dde['values']()){const _0x4e1b8e=new Set(_0x164407[_0x44282b(0x149)](_0xc4e54d=>_0xc4e54d['apiGroup']?[_0xc4e54d[_0x44282b(0x14d)]]:[]));if(_0x4e1b8e[_0x44282b(0x152)]===0x0)continue;if(_0x4e1b8e[_0x44282b(0x152)]>0x1||_0x164407[_0x44282b(0x13e)](_0x5263fa=>!_0x5263fa['apiGroup'])){const _0x27774a=_0x164407['map'](_0x3ccdbc=>_0x3ccdbc[_0x44282b(0x140)]['name'])[_0x44282b(0x14b)](',\x20');throw CliErrors['validation']('API\x20directory\x20\x22'+_0x164407[0x0][_0x44282b(0x14e)]+_0x44282b(0x153),'Profiles\x20sharing\x20one\x20apiDir\x20must\x20use\x20the\x20same\x20explicit\x20apiGroup.\x20Conflicting\x20profiles:\x20'+_0x27774a+_0x44282b(0x143));}}return _0x78dac4;}export function getRegistryGroup(_0x2967d9,_0x39fe72){const _0x5e2af6=a1_0x83bacf;if(_0x39fe72['apiGroup'])return _0x2967d9[_0x5e2af6(0x14a)](_0x3f6b81=>_0x3f6b81[_0x5e2af6(0x14d)]===_0x39fe72[_0x5e2af6(0x14d)]);const _0x504a0d=_0x2967d9[_0x5e2af6(0x14a)](_0x36743b=>_0x36743b[_0x5e2af6(0x13d)]===_0x39fe72[_0x5e2af6(0x13d)]);return _0x504a0d['length']===0x1?_0x504a0d:undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x13042c,_0x14a6b1){var _0x50589a=a2_0x4bcd,_0x58f129=_0x13042c();while(!![]){try{var _0x2f8609=parseInt(_0x50589a(0x12d))/0x1+parseInt(_0x50589a(0x128))/0x2*(parseInt(_0x50589a(0x129))/0x3)+-parseInt(_0x50589a(0x12a))/0x4+-parseInt(_0x50589a(0x127))/0x5*(parseInt(_0x50589a(0x126))/0x6)+parseInt(_0x50589a(0x123))/0x7+-parseInt(_0x50589a(0x125))/0x8*(parseInt(_0x50589a(0x12c))/0x9)+-parseInt(_0x50589a(0x12b))/0xa*(-parseInt(_0x50589a(0x124))/0xb);if(_0x2f8609===_0x14a6b1)break;else _0x58f129['push'](_0x58f129['shift']());}catch(_0xdfa603){_0x58f129['push'](_0x58f129['shift']());}}}(a2_0x5e6d,0x95384));function a2_0x4bcd(_0x37c92d,_0x1e3e51){_0x37c92d=_0x37c92d-0x123;var _0x5e6da0=a2_0x5e6d();var _0x4bcd3c=_0x5e6da0[_0x37c92d];return _0x4bcd3c;}export{fetchModelList}from'../core/api-client.js';function a2_0x5e6d(){var _0x30731c=['752703TjApnH','4102154eGebDv','46981VJRqOm','56UsJAHp','276ZVNXSV','121015ZhTPmM','1636454WkKWED','3ogTvhk','3544000KmzTaW','3470AdHbhq','1322289aTXbFL'];a2_0x5e6d=function(){return _0x30731c;};return a2_0x5e6d();}
|
|
@@ -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
|
-
(function(
|
|
1
|
+
(function(_0x2eca1c,_0x4111b4){const _0x3f62fa=a3_0x498a,_0x31170b=_0x2eca1c();while(!![]){try{const _0x4a8399=-parseInt(_0x3f62fa(0x83))/0x1+parseInt(_0x3f62fa(0x8f))/0x2*(-parseInt(_0x3f62fa(0x97))/0x3)+-parseInt(_0x3f62fa(0x7d))/0x4+parseInt(_0x3f62fa(0x77))/0x5*(parseInt(_0x3f62fa(0x69))/0x6)+-parseInt(_0x3f62fa(0x6d))/0x7+parseInt(_0x3f62fa(0x7b))/0x8+-parseInt(_0x3f62fa(0x9f))/0x9*(parseInt(_0x3f62fa(0x72))/0xa);if(_0x4a8399===_0x4111b4)break;else _0x31170b['push'](_0x31170b['shift']());}catch(_0x2ac105){_0x31170b['push'](_0x31170b['shift']());}}}(a3_0xe21b,0x26203));import a3_0x82989b from'prettier';import{existsSync,mkdirSync,writeFileSync,readFileSync}from'node:fs';import a3_0x5696d9 from'node:path';import{fileURLToPath}from'node:url';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';function a3_0x498a(_0x4d4566,_0x223622){_0x4d4566=_0x4d4566-0x69;const _0xe21b52=a3_0xe21b();let _0x498a86=_0xe21b52[_0x4d4566];return _0x498a86;}import{renderModelRegistryScaffold}from'../api/model-registry-scaffold.js';function fileAction(_0x217326,_0xf554df){const _0x1c9374=a3_0x498a;if(!_0xf554df)return _0x217326?'preserved':_0x1c9374(0x94);return _0x217326?_0x1c9374(0x90):_0x1c9374(0x9d);}function a3_0xe21b(){const _0x45dede=['43770oFxNEU','test','defaultName','replace','path','10bOBJsR','API\x20scaffold\x20written.','Model\x20facts\x20refreshed.','join','2275480yrHaRw','stringify','19096OQJlbm','tableName',',\x20...LOVRABET_SDK_CONFIG\x20}','alias','-api','dirname','14242JjUHLz','Please\x20configure\x20app\x20code\x20first\x20via\x20`','.ts','LOVRABET','name','CONFIG_NAMES.DEFAULT','success','api','preserved','../..','modelRuntime','LOVRABET_RUNTIME_DOMAIN','12882hwCKto','overwritten','{\x20apiConfigName:\x20','map','basename','missing','none','modelProfile','3fvicex','length','action','includes','\x20config\x20set\x20app\x20<value>`','resolve','created','templates/generate-api','126MHdKhO','format','existed','APP_','scaffoldMode','631374xiVNfw','\x20refreshed;\x20existing\x20TypeScript\x20left\x20unchanged.','utf8','refreshed','1763965qTtKVN','key','client',',\x20env:\x20','-client'];a3_0xe21b=function(){return _0x45dede;};return a3_0xe21b();}export async function generateApiFile(_0x4ed06e,_0x46da30,_0x479272,_0x31bd37,_0x4cfbd3,_0x5e7532,_0x17682f,_0x26d6bd={},_0x6d74e1={}){const _0x23b97f=a3_0x498a;if(!_0x479272)throw new Error(_0x23b97f(0x84)+CLI_BIN_NAME+_0x23b97f(0x9b));const _0x821bdb=_0x31bd37&&!_0x17682f,_0x40be9a=!!_0x6d74e1[_0x23b97f(0x96)],_0x17035a=_0x40be9a||_0x821bdb,_0x4e2480=_0x17682f||_0x479272,_0x421985=_0x40be9a||_0x821bdb?'default':_0x4e2480,_0x1a1f0c=_0x40be9a||_0x821bdb?_0x23b97f(0x88):JSON['stringify'](_0x4e2480),_0x1a7f37=!isProduction(_0x4cfbd3),_0x4da708=_0x1a7f37?_0x23b97f(0x70)+JSON[_0x23b97f(0x7c)](_0x4cfbd3):'',_0x5b00c5=_0x23b97f(0x91)+_0x1a1f0c+_0x4da708+_0x23b97f(0x7f),_0x52146c=_0x40be9a?'':_0x46da30,_0x4f5df2=_0x52146c?_0x52146c+_0x23b97f(0x81):_0x23b97f(0x8a),_0x4508fd=_0x52146c?_0x52146c+_0x23b97f(0x71):_0x23b97f(0x6f),_0x3bd795=_0x52146c&&!/^app-[a-f0-9]+$/i['test'](_0x52146c)?_0x52146c['replace'](/-/g,'_')['toUpperCase']():_0x23b97f(0x86),_0x326ec6=/^\d/[_0x23b97f(0x73)](_0x3bd795)?_0x23b97f(0xa2)+_0x3bd795:_0x3bd795,_0x5d7b96=_0x4ed06e[_0x23b97f(0x92)](_0x11d180=>({'datasetCode':_0x11d180['datasetCode'],'tableName':_0x11d180[_0x23b97f(0x7e)],'name':_0x11d180['name']||'','alias':_0x11d180['alias']||_0x11d180[_0x23b97f(0x6e)]})),_0x2582a8=fileURLToPath(import.meta.url),_0x5834b0=a3_0x5696d9[_0x23b97f(0x9c)](a3_0x5696d9[_0x23b97f(0x82)](_0x2582a8),_0x23b97f(0x8c)),_0x5a8e59=a3_0x5696d9[_0x23b97f(0x7a)](_0x5834b0,_0x23b97f(0x9e)),_0x253263=a3_0x5696d9[_0x23b97f(0x7a)](_0x5a8e59,'api.ts.tpl'),_0x57205f=a3_0x5696d9[_0x23b97f(0x7a)](_0x5a8e59,'client.ts.tpl'),_0x4b4ec8=_0x5e7532;mkdirSync(_0x4b4ec8,{'recursive':!![]});const _0xb0605e=_0x40be9a?{}:_0x26d6bd,_0x49ab8c=await generateSdkConfigFile(_0x4b4ec8,_0xb0605e,_0x52146c),_0x11fa76=a3_0x5696d9[_0x23b97f(0x93)](_0x49ab8c,_0x23b97f(0x85)),_0x1cd48b=a3_0x5696d9[_0x23b97f(0x7a)](_0x4b4ec8,_0x4f5df2+'.ts'),_0x18924f=a3_0x5696d9['join'](_0x4b4ec8,_0x4508fd+'.ts'),_0x2c2629=_0x6d74e1['overwriteTypescript']===!![],_0x3808ad=existsSync(_0x1cd48b),_0x291198=existsSync(_0x18924f),_0x14eed1=_0x6d74e1[_0x23b97f(0xa3)]??(_0x2c2629?_0x23b97f(0x75):'missing'),_0x269872=_0x14eed1===_0x23b97f(0x75)||_0x14eed1===_0x23b97f(0x94)&&!_0x3808ad,_0x3eb5f6=_0x14eed1===_0x23b97f(0x75)||_0x14eed1===_0x23b97f(0x94)&&!_0x291198,_0x272315=_0x6d74e1[_0x23b97f(0x96)]?updateModelRegistry({'outputDir':_0x4b4ec8,'profileName':_0x6d74e1[_0x23b97f(0x96)][_0x23b97f(0x87)],'defaultProfile':_0x6d74e1[_0x23b97f(0x96)][_0x23b97f(0x74)],'appCode':_0x479272,'runtimeDomain':_0x6d74e1[_0x23b97f(0x96)]['runtimeDomain'],'models':_0x5d7b96,'allowEmptyReplacement':_0x6d74e1['allowEmptyModelReplacement']===!![]}):undefined,_0x3c32b2=_0x272315?a3_0x5696d9[_0x23b97f(0x7a)](_0x4b4ec8,MODEL_RUNTIME_FILE_NAME):undefined,_0x1ef815=_0x3c32b2?existsSync(_0x3c32b2):![],_0x212e8b=_0x40be9a&&_0x14eed1!==_0x23b97f(0x95)?await renderModelRegistryScaffold(_0x4b4ec8):undefined;_0x3c32b2&&_0x212e8b&&writeFileSync(_0x3c32b2,_0x212e8b[_0x23b97f(0x8d)],'utf8');const _0x357e96=_0x5d7b96[0x0]?.[_0x23b97f(0x80)];if(_0x269872){const _0x40407b=_0x212e8b?.[_0x23b97f(0x8a)]??readFileSync(_0x253263,_0x23b97f(0x6b)),_0x1435cc=_0x40be9a?_0x40407b:TemplateReplacer['replaceApiContent'](_0x40407b,_0x479272,_0x5d7b96,_0x357e96,_0x4f5df2,_0x1a1f0c,undefined,_0x326ec6);writeFileSync(_0x1cd48b,await a3_0x82989b[_0x23b97f(0xa0)](_0x1435cc,{'parser':'typescript'}),{'encoding':_0x23b97f(0x6b)});}if(_0x3eb5f6){const _0x228592=_0x212e8b?.[_0x23b97f(0x6f)]??readFileSync(_0x57205f,_0x23b97f(0x6b)),_0x4d0b61=_0x40be9a?_0x228592:TemplateReplacer['replaceApiContent'](_0x228592,_0x479272,_0x5d7b96,_0x357e96,_0x4f5df2,_0x1a1f0c,_0x5b00c5,_0x326ec6,_0x11fa76);writeFileSync(_0x18924f,await a3_0x82989b[_0x23b97f(0xa0)](_0x4d0b61,{'parser':'typescript'}),{'encoding':'utf8'});}const _0x59dc56=_0x5d7b96[_0x23b97f(0x98)],_0x3b1249={'api':{'path':_0x1cd48b,'action':fileAction(_0x3808ad,_0x269872)},'client':{'path':_0x18924f,'action':fileAction(_0x291198,_0x3eb5f6)},'sdkConfig':{'path':_0x49ab8c,'action':_0x23b97f(0x6c)},..._0x272315?{'modelRegistry':{'path':_0x272315[_0x23b97f(0x76)],'action':_0x272315[_0x23b97f(0xa1)]?_0x23b97f(0x6c):_0x23b97f(0x9d)},'modelRuntime':{'path':_0x3c32b2,'action':_0x212e8b?_0x1ef815?_0x23b97f(0x6c):_0x23b97f(0x9d):_0x1ef815?_0x23b97f(0x8b):_0x23b97f(0x94)}}:{}},_0x3b19ed=existsSync(_0x1cd48b)&&readFileSync(_0x1cd48b,_0x23b97f(0x6b))[_0x23b97f(0x9a)](MODEL_REGISTRY_FILE_NAME[_0x23b97f(0x75)]('.ts','')),_0x5810d9=existsSync(_0x18924f)&&readFileSync(_0x18924f,_0x23b97f(0x6b))['includes'](_0x23b97f(0x8e)),_0x3ca070=_0x40be9a?!_0x3b19ed||!_0x5810d9||!existsSync(_0x3c32b2):![],_0x3bbbe0=_0x40be9a?_0x3ca070:_0x3b1249[_0x23b97f(0x8a)][_0x23b97f(0x99)]===_0x23b97f(0x8b)||_0x3b1249['client'][_0x23b97f(0x99)]===_0x23b97f(0x8b);return logger[_0x23b97f(0x89)]('init-api',_0x3bbbe0?a3_0x5696d9[_0x23b97f(0x93)](_0x49ab8c)+_0x23b97f(0x6a):_0x40be9a?_0x23b97f(0x79):_0x23b97f(0x78),undefined,{'apiFile':_0x1cd48b,'clientFile':_0x18924f,'sdkConfig':_0x49ab8c,'modelCount':_0x59dc56,'configName':_0x421985,'isDefaultConfig':_0x17035a,'needsAgentMerge':_0x3bbbe0,'needsProjectUpgrade':_0x3ca070,'files':_0x3b1249}),{'appCode':_0x479272,'modelCount':_0x59dc56,'models':_0x5d7b96,'apiFilePath':_0x1cd48b,'clientFilePath':_0x18924f,'sdkConfigPath':_0x49ab8c,'modelRegistryPath':_0x272315?.['path'],'modelRuntimePath':_0x3c32b2,'modelProfile':_0x6d74e1[_0x23b97f(0x96)]?.[_0x23b97f(0x87)],'configName':_0x421985,'isDefaultConfig':_0x17035a,'sdkRouting':_0xb0605e,'files':_0x3b1249,'needsAgentMerge':_0x3bbbe0,'needsProjectUpgrade':_0x3ca070};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a4_0x4409d6=a4_0xd0c6;(function(_0x7e6bf0,_0x546ab1){const _0x187a6c=a4_0xd0c6,_0x18372c=_0x7e6bf0();while(!![]){try{const _0x12adcd=parseInt(_0x187a6c(0x11c))/0x1*(-parseInt(_0x187a6c(0x118))/0x2)+-parseInt(_0x187a6c(0x11f))/0x3*(parseInt(_0x187a6c(0x116))/0x4)+parseInt(_0x187a6c(0x127))/0x5*(-parseInt(_0x187a6c(0x125))/0x6)+-parseInt(_0x187a6c(0x110))/0x7+parseInt(_0x187a6c(0x115))/0x8+-parseInt(_0x187a6c(0x121))/0x9*(-parseInt(_0x187a6c(0x123))/0xa)+parseInt(_0x187a6c(0x11d))/0xb;if(_0x12adcd===_0x546ab1)break;else _0x18372c['push'](_0x18372c['shift']());}catch(_0x5e319d){_0x18372c['push'](_0x18372c['shift']());}}}(a4_0x5a30,0xed546));function a4_0xd0c6(_0x1b1170,_0x66244c){_0x1b1170=_0x1b1170-0x110;const _0x5a30bb=a4_0x5a30();let _0xd0c6dd=_0x5a30bb[_0x1b1170];return _0xd0c6dd;}import{mkdirSync,writeFileSync}from'node:fs';function a4_0x5a30(){const _0xd04b89=['44049038vHCNjk','stringify','2805723KpWEMA','typescript','9DGqgnJ','utf8','9373890SIpVqh','\x20as\x20const;\x0a','6xccShK','sdk-config.ts','7837985YKMytN','9184399PaISRj','runtimeDomain','push','join','-sdk-config.ts','7310192IkXhye','4GGbIEF',',\x0a\x20\x20','246mjNVKG','{\x0a\x20\x20','length','format','8688FFhUKz'];a4_0x5a30=function(){return _0xd04b89;};return a4_0x5a30();}import a4_0x52fe3c from'node:path';import a4_0x45f293 from'prettier';export const SDK_CONFIG_FILE_NAME=a4_0x4409d6(0x126);export function getSdkConfigFileName(_0x1b9c1c=''){const _0x3e5f91=a4_0x4409d6;return _0x1b9c1c?_0x1b9c1c+_0x3e5f91(0x114):SDK_CONFIG_FILE_NAME;}export async function generateSdkConfigFile(_0x204ab6,_0x8a8052={},_0x5bbf04=''){const _0x4c7a01=a4_0x4409d6,_0x11e74c=[];_0x8a8052[_0x4c7a01(0x111)]&&_0x11e74c[_0x4c7a01(0x112)]('runtimeDomain:\x20'+JSON[_0x4c7a01(0x11e)](_0x8a8052[_0x4c7a01(0x111)]));const _0x12788e=_0x11e74c[_0x4c7a01(0x11a)]>0x0?_0x4c7a01(0x119)+_0x11e74c['join'](_0x4c7a01(0x117))+',\x0a}':'{}',_0x42ac61='/**\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'+_0x12788e+_0x4c7a01(0x124);mkdirSync(_0x204ab6,{'recursive':!![]});const _0x5d565f=a4_0x52fe3c[_0x4c7a01(0x113)](_0x204ab6,getSdkConfigFileName(_0x5bbf04));return writeFileSync(_0x5d565f,await a4_0x45f293[_0x4c7a01(0x11b)](_0x42ac61,{'parser':_0x4c7a01(0x120)}),_0x4c7a01(0x122)),_0x5d565f;}
|
|
@@ -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(_0x80268d,_0x1b4a39){const _0x27c9c7=a5_0x1458,_0x543b9b=_0x80268d();while(!![]){try{const _0x4efb48=-parseInt(_0x27c9c7(0x19d))/0x1+parseInt(_0x27c9c7(0x1a3))/0x2+-parseInt(_0x27c9c7(0x199))/0x3+-parseInt(_0x27c9c7(0x1a0))/0x4*(-parseInt(_0x27c9c7(0x19e))/0x5)+-parseInt(_0x27c9c7(0x19b))/0x6*(-parseInt(_0x27c9c7(0x1b0))/0x7)+-parseInt(_0x27c9c7(0x1b1))/0x8+parseInt(_0x27c9c7(0x1ae))/0x9*(parseInt(_0x27c9c7(0x1ab))/0xa);if(_0x4efb48===_0x1b4a39)break;else _0x543b9b['push'](_0x543b9b['shift']());}catch(_0x21ecde){_0x543b9b['push'](_0x543b9b['shift']());}}}(a5_0x12c4,0x95033));export function parseLegacyApiModels(_0x19a466){const _0x77b351=a5_0x1458,_0x49939f=[],_0x5d771c=/\{\s*datasetCode:\s*"([^"]+)"\s*,\s*tableName:\s*"([^"]+)"\s*,\s*name:\s*"([^"]*?)"\s*,\s*alias:\s*"([^"]+)"\s*,?\s*\}/g;let _0x270dea;while((_0x270dea=_0x5d771c[_0x77b351(0x1a2)](_0x19a466))!==null){_0x49939f[_0x77b351(0x1a4)]({'datasetCode':_0x270dea[0x1],'tableName':_0x270dea[0x2],'name':_0x270dea[0x3],'alias':_0x270dea[0x4]});}return _0x49939f;}export function parseLegacyApiAppCode(_0x404afc){const _0x1f2aaa=a5_0x1458;return _0x404afc[_0x1f2aaa(0x1a7)](/export\s+const\s+[A-Z0-9_]*APP_CODE(?:\s*:\s*string)?\s*=\s*["']([^"']+)["']/)?.[0x1];}function stripComments(_0x426342){const _0x1dc10b=a5_0x1458;return _0x426342[_0x1dc10b(0x19a)](/\/\*[\s\S]*?\*\//g,'')[_0x1dc10b(0x19a)](/\/\/.*$/gm,'');}export function isLegacyGeneratedApiScaffold(_0x5205ed){const _0x438994=a5_0x1458;if(!_0x5205ed['includes'](_0x438994(0x198)))return![];const _0xd4b45d=stripComments(_0x5205ed),_0x201c74=[..._0xd4b45d[_0x438994(0x1ac)](/^import[\s\S]*?from\s+["']([^"']+)["'];?$/gm)][_0x438994(0x1ad)](_0x552c70=>_0x552c70[0x1]);if(_0x201c74[_0x438994(0x1af)]!==0x1||_0x201c74[0x0]!==_0x438994(0x19c))return![];const _0x297ca2=[..._0xd4b45d[_0x438994(0x1ac)](/^(?:export\s+)?const\s+([A-Za-z_$][\w$]*)/gm)][_0x438994(0x1ad)](_0x2929e4=>_0x2929e4[0x1]);if(_0x297ca2[_0x438994(0x1af)]!==0x2||!_0x297ca2[_0x438994(0x1a5)](_0x4833b4=>_0x4833b4[_0x438994(0x19f)](_0x438994(0x1aa)))||!_0x297ca2[_0x438994(0x1a5)](_0x513f83=>_0x513f83[_0x438994(0x19f)](_0x438994(0x1a6))))return![];const _0x1ecd17=[..._0xd4b45d[_0x438994(0x1ac)](/^([A-Za-z_$][\w$]*)\s*\(/gm)]['map'](_0x44355e=>_0x44355e[0x1]);return _0x1ecd17[_0x438994(0x1af)]===0x1&&_0x1ecd17[0x0]==='registerModels';}function a5_0x12c4(){const _0x54fab8=['484227eSrGIp','length','301DdgtxG','3199000mUpGrm','Generated\x20by\x20Rabetbase\x20CLI','3190518TwQXYK','replace','141096eBpRPq','@lovrabet/sdk','294945zzSwvu','24600dzzESO','endsWith','4jaEjRu','test','exec','14996oLrTej','push','some','MODELS_CONFIG','match','lovrabetClient','includes','APP_CODE','250fUPJNW','matchAll','map'];a5_0x12c4=function(){return _0x54fab8;};return a5_0x12c4();}function a5_0x1458(_0x3330a6,_0x36ac2c){_0x3330a6=_0x3330a6-0x198;const _0x12c4f6=a5_0x12c4();let _0x1458af=_0x12c4f6[_0x3330a6];return _0x1458af;}export function isLegacyGeneratedClientScaffold(_0x52558c){const _0x49dbb9=a5_0x1458;if(!_0x52558c[_0x49dbb9(0x1a9)](_0x49dbb9(0x198)))return![];const _0x51be65=stripComments(_0x52558c),_0x3a859b=[..._0x51be65[_0x49dbb9(0x1ac)](/^(?:import[\s\S]*?from\s+|import\s+)["']([^"']+)["'];?$/gm)][_0x49dbb9(0x1ad)](_0x811d13=>_0x811d13[0x1]);if(_0x3a859b[_0x49dbb9(0x1a5)](_0x7bcc1b=>_0x7bcc1b!==_0x49dbb9(0x19c)&&!/^\.\/(?:[\w-]+-)?(?:api|sdk-config)$/[_0x49dbb9(0x1a1)](_0x7bcc1b??'')))return![];const _0xa80fec=[..._0x51be65[_0x49dbb9(0x1ac)](/^(?:export\s+)?const\s+([A-Za-z_$][\w$]*)/gm)]['map'](_0x56ba44=>_0x56ba44[0x1]);return _0xa80fec[_0x49dbb9(0x1af)]===0x1&&_0xa80fec[0x0]===_0x49dbb9(0x1a8);}
|
|
@@ -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
|
+
function a6_0x4205(_0x13a4fd,_0x1bebd8){_0x13a4fd=_0x13a4fd-0x1dc;const _0x5cf08f=a6_0x5cf0();let _0x420519=_0x5cf08f[_0x13a4fd];return _0x420519;}const a6_0x4ea499=a6_0x4205;(function(_0x5e05dc,_0x1b0224){const _0x2b68a0=a6_0x4205,_0x4155d1=_0x5e05dc();while(!![]){try{const _0x3ba0c2=parseInt(_0x2b68a0(0x1f2))/0x1+-parseInt(_0x2b68a0(0x221))/0x2+-parseInt(_0x2b68a0(0x1e0))/0x3*(parseInt(_0x2b68a0(0x218))/0x4)+parseInt(_0x2b68a0(0x222))/0x5+-parseInt(_0x2b68a0(0x1fc))/0x6+parseInt(_0x2b68a0(0x213))/0x7*(parseInt(_0x2b68a0(0x216))/0x8)+parseInt(_0x2b68a0(0x203))/0x9*(parseInt(_0x2b68a0(0x211))/0xa);if(_0x3ba0c2===_0x1b0224)break;else _0x4155d1['push'](_0x4155d1['shift']());}catch(_0x1b8980){_0x4155d1['push'](_0x4155d1['shift']());}}}(a6_0x5cf0,0x7cf92));import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import a6_0x5a609a from'node:path';export const MODEL_REGISTRY_FILE_NAME=a6_0x4ea499(0x20b);export const MODEL_RUNTIME_FILE_NAME=a6_0x4ea499(0x201);export const MODEL_REGISTRY_VERSION_MARKER=a6_0x4ea499(0x1ed);const LEGACY_MODEL_REGISTRY_V2_PROTOCOL=a6_0x4ea499(0x1ea),REGISTRY_START=a6_0x4ea499(0x1dd),REGISTRY_END=a6_0x4ea499(0x1e2);function emptyRegistry(_0x1b2012){return{'defaultProfile':_0x1b2012,'profiles':{},'models':[]};}function extractRegistryJson(_0x5d7d3c){const _0x5cecdc=a6_0x4ea499,_0x179771=_0x5d7d3c[_0x5cecdc(0x206)](REGISTRY_START),_0x18d7c8=_0x5d7d3c[_0x5cecdc(0x206)](REGISTRY_END);if(_0x179771<0x0||_0x18d7c8<=_0x179771)return undefined;return _0x5d7d3c[_0x5cecdc(0x207)](_0x179771+REGISTRY_START[_0x5cecdc(0x1f8)],_0x18d7c8)[_0x5cecdc(0x1ee)]()[_0x5cecdc(0x1f3)](/\s+as const satisfies LovrabetModelRegistry;?$/,'')[_0x5cecdc(0x1f3)](/;$/,'');}function migrateLegacyRegistry(_0x3eea2a){const _0xed6bbf=a6_0x4ea499,_0x3f2fd3=emptyRegistry(_0x3eea2a['defaultProfile']);for(const [_0xcc44d4,_0x2ffb68]of Object[_0xed6bbf(0x219)](_0x3eea2a['profiles'])){_0x3f2fd3[_0xed6bbf(0x20f)][_0xcc44d4]={'appCode':_0x2ffb68['appCode'],'runtimeDomain':_0x2ffb68[_0xed6bbf(0x1fe)]},mergeProfileModels(_0x3f2fd3,_0xcc44d4,_0x2ffb68[_0xed6bbf(0x1df)]);}return _0x3f2fd3;}function generatedObjectLiteralToJson(_0x8cc61d){const _0x18e478=a6_0x4ea499;let _0x31bd03='',_0x12b215,_0x2bb9be=![],_0xfc7a21;for(let _0x44c6f7=0x0;_0x44c6f7<_0x8cc61d['length'];_0x44c6f7++){const _0x20fc3e=_0x8cc61d[_0x44c6f7];if(_0x12b215){_0x31bd03+=_0x20fc3e;if(_0x2bb9be)_0x2bb9be=![];else{if(_0x20fc3e==='\x5c')_0x2bb9be=!![];else{if(_0x20fc3e===_0x12b215)_0x12b215=undefined;}}continue;}if(_0x20fc3e==='\x22'){_0x12b215=_0x20fc3e,_0x31bd03+=_0x20fc3e,_0xfc7a21=_0x18e478(0x200);continue;}if(_0x20fc3e===','){let _0x3803e1=_0x44c6f7+0x1;while(/\s/[_0x18e478(0x225)](_0x8cc61d[_0x3803e1]??''))_0x3803e1++;if(_0x8cc61d[_0x3803e1]==='}'||_0x8cc61d[_0x3803e1]===']')continue;_0x31bd03+=_0x20fc3e,_0xfc7a21=',';continue;}if(_0x20fc3e==='{'||_0x20fc3e==='['){_0x31bd03+=_0x20fc3e,_0xfc7a21=_0x20fc3e;continue;}if(_0x20fc3e==='}'||_0x20fc3e===']'){_0x31bd03+=_0x20fc3e,_0xfc7a21=_0x20fc3e;continue;}if((_0xfc7a21==='{'||_0xfc7a21===',')&&/[A-Za-z_$]/[_0x18e478(0x225)](_0x20fc3e)){let _0x4b0227=_0x44c6f7+0x1;while(/[A-Za-z0-9_$]/[_0x18e478(0x225)](_0x8cc61d[_0x4b0227]??''))_0x4b0227++;let _0x5dff11=_0x4b0227;while(/\s/[_0x18e478(0x225)](_0x8cc61d[_0x5dff11]??''))_0x5dff11++;if(_0x8cc61d[_0x5dff11]===':'){_0x31bd03+=JSON[_0x18e478(0x224)](_0x8cc61d[_0x18e478(0x207)](_0x44c6f7,_0x4b0227)),_0x44c6f7=_0x4b0227-0x1,_0xfc7a21=_0x18e478(0x21a);continue;}}_0x31bd03+=_0x20fc3e;if(!/\s/[_0x18e478(0x225)](_0x20fc3e)&&_0x20fc3e!==':')_0xfc7a21='value';}return _0x31bd03;}function parseGeneratedRegistryJson(_0x484465){const _0x12a09c=a6_0x4ea499;try{return JSON[_0x12a09c(0x1e5)](_0x484465);}catch{return JSON[_0x12a09c(0x1e5)](generatedObjectLiteralToJson(_0x484465));}}function normalizeModelEntries(_0x58827f,_0x20d89c){const _0x4fb406=a6_0x4ea499,_0x58d4b8=Object[_0x4fb406(0x21c)](_0x58827f),_0x525738=[];for(const _0x2c0144 of _0x20d89c){if(!_0x2c0144||typeof _0x2c0144!==_0x4fb406(0x1fa)||Array['isArray'](_0x2c0144))return undefined;const _0xe2cca1=_0x2c0144;if(typeof _0xe2cca1[_0x4fb406(0x1f6)]!==_0x4fb406(0x1e6)||typeof _0xe2cca1[_0x4fb406(0x20a)]!==_0x4fb406(0x1e6)||typeof _0xe2cca1['name']!==_0x4fb406(0x1e6))return undefined;let _0x2984ca;if(typeof _0xe2cca1[_0x4fb406(0x1fb)]===_0x4fb406(0x1e6)&&_0xe2cca1[_0x4fb406(0x1f5)]===undefined)_0x2984ca=Object['fromEntries'](_0x58d4b8[_0x4fb406(0x1ec)](_0x25fd58=>[_0x25fd58,_0xe2cca1[_0x4fb406(0x1fb)]]));else{if(_0xe2cca1[_0x4fb406(0x1fb)]===undefined&&_0xe2cca1['datasetCodes']&&typeof _0xe2cca1[_0x4fb406(0x1f5)]===_0x4fb406(0x1fa)&&!Array[_0x4fb406(0x1e4)](_0xe2cca1[_0x4fb406(0x1f5)])&&Object[_0x4fb406(0x205)](_0xe2cca1['datasetCodes'])['every'](_0x247037=>typeof _0x247037==='string'))_0x2984ca={..._0xe2cca1[_0x4fb406(0x1f5)]};else return undefined;}_0x525738[_0x4fb406(0x1ef)]({'alias':_0xe2cca1['alias'],'tableName':_0xe2cca1[_0x4fb406(0x20a)],'name':_0xe2cca1[_0x4fb406(0x226)],'datasetCodes':_0x2984ca});}return _0x525738;}export function parseModelRegistry(_0x2e0a3b){const _0x29474d=a6_0x4ea499,_0x1476cc=extractRegistryJson(_0x2e0a3b);if(!_0x1476cc)return undefined;try{const _0x5ac6e4=parseGeneratedRegistryJson(_0x1476cc);if(typeof _0x5ac6e4['defaultProfile']!==_0x29474d(0x1e6)||!_0x5ac6e4[_0x29474d(0x20f)]||typeof _0x5ac6e4[_0x29474d(0x20f)]!==_0x29474d(0x1fa))return undefined;if(_0x5ac6e4['protocol']===_0x29474d(0x1e7))return migrateLegacyRegistry(_0x5ac6e4);if(!(_0x5ac6e4['protocol']===LEGACY_MODEL_REGISTRY_V2_PROTOCOL||_0x5ac6e4['protocol']===undefined&&_0x2e0a3b[_0x29474d(0x1f4)](MODEL_REGISTRY_VERSION_MARKER))||!Array[_0x29474d(0x1e4)](_0x5ac6e4[_0x29474d(0x1df)]))return undefined;const _0x11d394=_0x5ac6e4[_0x29474d(0x20f)],_0x2bbd17=normalizeModelEntries(_0x11d394,_0x5ac6e4[_0x29474d(0x1df)]);if(!_0x2bbd17)return undefined;return{'defaultProfile':_0x5ac6e4['defaultProfile'],'profiles':_0x11d394,'models':_0x2bbd17};}catch{return undefined;}}function a6_0x5cf0(){const _0x20ae15=['datasetCode','1186908QpVvOl','now','runtimeDomain','get','value','model-runtime.ts','\x22\x20maps\x20to\x20both\x20\x22','684jbqwpQ','NOT-SET','values','indexOf','slice','allowEmptyReplacement','profileName','tableName','models.generated.ts','utf8','appCode','join','profiles','\x22\x20in\x20profile\x20\x22','178970hQbAiS','\x22\x20maps\x20to\x20table\x20\x22','7WLdZnw','set','find','2718088Ffgihl','\x0aexport\x20const\x20LOVRABET_MODEL_REGISTRY\x20=\x0a\x20\x20','6872mplDHl','entries','key','\x22\x20and\x20\x22','keys','Model\x20alias\x20\x22','\x20is\x20not\x20a\x20valid\x20Rabetbase\x20generated\x20file.\x20Move\x20or\x20repair\x20it\x20before\x20pulling\x20models\x20again.','/**\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','.tmp','1555682sszUnF','1463160IKUkoA','\x22\x20in\x20the\x20registry\x20but\x20\x22','stringify','test','name','flatMap','/*\x20rabetbase-model-registry:start\x20*/','outputDir','models','921YRtZgD','Verify\x20the\x20selected\x20app\x20and\x20login,\x20or\x20rerun\x20with\x20--force\x20--yes\x20if\x20the\x20profile\x20is\x20intentionally\x20empty.','/*\x20rabetbase-model-registry:end\x20*/','filter','isArray','parse','string','lovrabet-model-registry/v1','Refusing\x20to\x20replace\x20','defaultProfile','lovrabet-model-registry/v2','Table\x20\x22','map','/*\x20rabetbase-model-registry:v2\x20*/','trim','push','pid','every','22410hdtLop','replace','includes','datasetCodes','alias','split','length','\x22\x20with\x20an\x20empty\x20result.\x20','object'];a6_0x5cf0=function(){return _0x20ae15;};return a6_0x5cf0();}export function readModelRegistry(_0x30a3ba){const _0x26a2c7=a6_0x4ea499;if(!existsSync(_0x30a3ba))return undefined;try{return parseModelRegistry(readFileSync(_0x30a3ba,_0x26a2c7(0x20c)));}catch{return undefined;}}function registrySource(_0x2bab1b){const _0x1310d0=a6_0x4ea499,_0x19d2b2=Object[_0x1310d0(0x21c)](_0x2bab1b[_0x1310d0(0x20f)]),_0x40a4e3=_0x2bab1b[_0x1310d0(0x1df)][_0x1310d0(0x1ec)](_0x2e019b=>{const _0x3a95fe=_0x1310d0,_0x5374dd=_0x19d2b2[_0x3a95fe(0x1ec)](_0x24a7fd=>_0x2e019b[_0x3a95fe(0x1f5)][_0x24a7fd]),_0x238c37=_0x5374dd[0x0],_0x40f422=_0x238c37!==undefined&&_0x5374dd[_0x3a95fe(0x1f1)](_0x2db435=>_0x2db435===_0x238c37),_0x581a75={'alias':_0x2e019b[_0x3a95fe(0x1f6)],'tableName':_0x2e019b['tableName'],'name':_0x2e019b['name']};return _0x40f422?{..._0x581a75,'datasetCode':_0x238c37}:{..._0x581a75,'datasetCodes':_0x2e019b[_0x3a95fe(0x1f5)]};}),_0xdd6687=JSON[_0x1310d0(0x224)]({'defaultProfile':_0x2bab1b[_0x1310d0(0x1e9)],'profiles':_0x2bab1b[_0x1310d0(0x20f)],'models':_0x40a4e3},null,0x2)[_0x1310d0(0x1f7)]('\x0a')[_0x1310d0(0x1ec)](_0x2eef7c=>'\x20\x20'+_0x2eef7c)['join']('\x0a');return _0x1310d0(0x21f)+MODEL_REGISTRY_VERSION_MARKER+_0x1310d0(0x217)+REGISTRY_START+'\x0a'+_0xdd6687+'\x20as\x20const\x20satisfies\x20LovrabetModelRegistry;\x0a'+REGISTRY_END+'\x0a';}function mergeProfileModels(_0x988489,_0x3e6943,_0x7892ae){const _0x13da57=a6_0x4ea499,_0xeb5a52=_0x7892ae[_0x13da57(0x1ec)](_0x98142e=>({..._0x98142e,'alias':_0x98142e['alias']||_0x98142e['tableName']})),_0x2784ed=new Map(),_0x1513cc=new Map();for(const _0xf73642 of _0xeb5a52){const _0xde0754=_0x2784ed[_0x13da57(0x1ff)](_0xf73642[_0x13da57(0x1f6)]);if(_0xde0754&&_0xde0754!==_0xf73642[_0x13da57(0x20a)])throw new Error(_0x13da57(0x21d)+_0xf73642['alias']+_0x13da57(0x202)+_0xde0754+_0x13da57(0x21b)+_0xf73642['tableName']+_0x13da57(0x210)+_0x3e6943+'\x22.');const _0x5be2ac=_0x1513cc[_0x13da57(0x1ff)](_0xf73642[_0x13da57(0x20a)]);if(_0x5be2ac&&_0x5be2ac!==_0xf73642[_0x13da57(0x1f6)])throw new Error('Table\x20\x22'+_0xf73642[_0x13da57(0x20a)]+'\x22\x20maps\x20to\x20both\x20aliases\x20\x22'+_0x5be2ac+_0x13da57(0x21b)+_0xf73642['alias']+'\x22\x20in\x20profile\x20\x22'+_0x3e6943+'\x22.');_0x2784ed[_0x13da57(0x214)](_0xf73642[_0x13da57(0x1f6)],_0xf73642['tableName']),_0x1513cc[_0x13da57(0x214)](_0xf73642[_0x13da57(0x20a)],_0xf73642[_0x13da57(0x1f6)]);const _0x1c204d=_0x988489['models'][_0x13da57(0x215)](_0x29a103=>_0x29a103[_0x13da57(0x1f6)]===_0xf73642[_0x13da57(0x1f6)]);if(_0x1c204d&&_0x1c204d['tableName']!==_0xf73642[_0x13da57(0x20a)])throw new Error(_0x13da57(0x21d)+_0xf73642[_0x13da57(0x1f6)]+_0x13da57(0x212)+_0x1c204d[_0x13da57(0x20a)]+_0x13da57(0x223)+_0xf73642[_0x13da57(0x20a)]+'\x22\x20in\x20profile\x20\x22'+_0x3e6943+'\x22.');const _0x4396e0=_0x988489[_0x13da57(0x1df)][_0x13da57(0x215)](_0x38ec01=>_0x38ec01[_0x13da57(0x20a)]===_0xf73642['tableName']);if(_0x4396e0&&_0x4396e0[_0x13da57(0x1f6)]!==_0xf73642[_0x13da57(0x1f6)])throw new Error(_0x13da57(0x1eb)+_0xf73642['tableName']+'\x22\x20maps\x20to\x20alias\x20\x22'+_0x4396e0[_0x13da57(0x1f6)]+_0x13da57(0x223)+_0xf73642[_0x13da57(0x1f6)]+_0x13da57(0x210)+_0x3e6943+'\x22.');}for(const _0x4e7a58 of _0x988489[_0x13da57(0x1df)]){delete _0x4e7a58['datasetCodes'][_0x3e6943];}for(const _0x19bb28 of _0xeb5a52){let _0x88ebf0=_0x988489['models'][_0x13da57(0x215)](_0x456821=>_0x456821[_0x13da57(0x1f6)]===_0x19bb28[_0x13da57(0x1f6)]);!_0x88ebf0&&(_0x88ebf0={'alias':_0x19bb28[_0x13da57(0x1f6)],'tableName':_0x19bb28[_0x13da57(0x20a)],'name':_0x19bb28[_0x13da57(0x226)],'datasetCodes':{}},_0x988489[_0x13da57(0x1df)][_0x13da57(0x1ef)](_0x88ebf0)),(_0x3e6943===_0x988489[_0x13da57(0x1e9)]||!_0x88ebf0[_0x13da57(0x1f5)][_0x988489[_0x13da57(0x1e9)]])&&(_0x88ebf0[_0x13da57(0x1f6)]=_0x19bb28[_0x13da57(0x1f6)],_0x88ebf0[_0x13da57(0x20a)]=_0x19bb28['tableName'],_0x88ebf0[_0x13da57(0x226)]=_0x19bb28[_0x13da57(0x226)]),_0x88ebf0[_0x13da57(0x1f5)][_0x3e6943]=_0x19bb28['datasetCode'];}_0x988489[_0x13da57(0x1df)]=_0x988489['models'][_0x13da57(0x1e3)](_0x258a5d=>Object['keys'](_0x258a5d['datasetCodes'])[_0x13da57(0x1f8)]>0x0);}function removeUnboundProfiles(_0x5cfd66){const _0x238245=a6_0x4ea499,_0x2c5922=Object[_0x238245(0x219)](_0x5cfd66[_0x238245(0x20f)])[_0x238245(0x1e3)](([,_0xab1a20])=>_0xab1a20[_0x238245(0x20d)]===_0x238245(0x204))[_0x238245(0x1ec)](([_0x285530])=>_0x285530);if(_0x2c5922['length']===0x0)return;for(const _0xb4046a of _0x2c5922){delete _0x5cfd66[_0x238245(0x20f)][_0xb4046a];for(const _0x48f73e of _0x5cfd66['models']){delete _0x48f73e['datasetCodes'][_0xb4046a];}}_0x5cfd66[_0x238245(0x1df)]=_0x5cfd66[_0x238245(0x1df)][_0x238245(0x1e3)](_0x3446a5=>Object[_0x238245(0x21c)](_0x3446a5[_0x238245(0x1f5)])[_0x238245(0x1f8)]>0x0);}export function getProfileModels(_0x4dcb91,_0x3cfed0){const _0x15fb4f=a6_0x4ea499;return _0x4dcb91[_0x15fb4f(0x1df)][_0x15fb4f(0x1dc)](_0x287d45=>{const _0xcbaf00=_0x15fb4f,_0x142ded=_0x287d45['datasetCodes'][_0x3cfed0];return _0x142ded?[{'datasetCode':_0x142ded,'tableName':_0x287d45['tableName'],'name':_0x287d45[_0xcbaf00(0x226)],'alias':_0x287d45['alias']}]:[];});}export function updateModelRegistry(_0x56a148){const _0x18f2e6=a6_0x4ea499,_0x549143=a6_0x5a609a[_0x18f2e6(0x20e)](_0x56a148[_0x18f2e6(0x1de)],MODEL_REGISTRY_FILE_NAME),_0x5c143e=existsSync(_0x549143),_0x16af96=readModelRegistry(_0x549143);if(_0x5c143e&&!_0x16af96)throw new Error(MODEL_REGISTRY_FILE_NAME+_0x18f2e6(0x21e));const _0x1f0d2e=_0x16af96??emptyRegistry(_0x56a148['defaultProfile']);if(_0x56a148['appCode']!==_0x18f2e6(0x204))removeUnboundProfiles(_0x1f0d2e);const _0x226436=_0x16af96?getProfileModels(_0x16af96,_0x56a148[_0x18f2e6(0x209)])[_0x18f2e6(0x1f8)]:0x0;if(_0x226436>0x0&&_0x56a148['models']['length']===0x0&&!_0x56a148[_0x18f2e6(0x208)])throw new Error(_0x18f2e6(0x1e8)+_0x226436+'\x20model(s)\x20in\x20profile\x20\x22'+_0x56a148[_0x18f2e6(0x209)]+_0x18f2e6(0x1f9)+_0x18f2e6(0x1e1));_0x1f0d2e['defaultProfile']=_0x56a148[_0x18f2e6(0x1e9)],_0x1f0d2e['profiles'][_0x56a148[_0x18f2e6(0x209)]]={'appCode':_0x56a148[_0x18f2e6(0x20d)],'runtimeDomain':_0x56a148['runtimeDomain']},mergeProfileModels(_0x1f0d2e,_0x56a148[_0x18f2e6(0x209)],_0x56a148[_0x18f2e6(0x1df)]),mkdirSync(_0x56a148['outputDir'],{'recursive':!![]});const _0x207dfa=_0x549143+'.'+process[_0x18f2e6(0x1f0)]+'.'+Date[_0x18f2e6(0x1fd)]()+_0x18f2e6(0x220);try{writeFileSync(_0x207dfa,registrySource(_0x1f0d2e),{'encoding':_0x18f2e6(0x20c),'mode':0x1a4}),renameSync(_0x207dfa,_0x549143);}catch(_0x445d50){try{unlinkSync(_0x207dfa);}catch{}throw _0x445d50;}return{'path':_0x549143,'registry':_0x1f0d2e,'existed':_0x5c143e};}
|
|
@@ -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
|
+
function a7_0x3669(){const _0xcd3150=['profile-api.ts.tpl','68186MEQmon','dirname','replace','15mrOodE','model-runtime.ts.tpl','all','36sdiXtE','cwd','525063QQNGGB','typescript','374555SCgabn','utf8','2540GCKCFv','startsWith','join','8ePYrUZ','{ProjectRoutingImport}','150552OHeTiD','format','2519KuwYgf','673284dhfEZl','profile-client.ts.tpl','resolve','626128xTdQYe'];a7_0x3669=function(){return _0xcd3150;};return a7_0x3669();}const a7_0x1bd580=a7_0x28a1;(function(_0x13f677,_0x118ff2){const _0x30211e=a7_0x28a1,_0x26f1f4=_0x13f677();while(!![]){try{const _0x12d134=-parseInt(_0x30211e(0x183))/0x1+parseInt(_0x30211e(0x18b))/0x2*(parseInt(_0x30211e(0x18e))/0x3)+parseInt(_0x30211e(0x181))/0x4*(-parseInt(_0x30211e(0x17c))/0x5)+parseInt(_0x30211e(0x186))/0x6+-parseInt(_0x30211e(0x17a))/0x7+-parseInt(_0x30211e(0x189))/0x8*(-parseInt(_0x30211e(0x178))/0x9)+-parseInt(_0x30211e(0x17e))/0xa*(parseInt(_0x30211e(0x185))/0xb);if(_0x12d134===_0x118ff2)break;else _0x26f1f4['push'](_0x26f1f4['shift']());}catch(_0x27e367){_0x26f1f4['push'](_0x26f1f4['shift']());}}}(a7_0x3669,0x27992));import{readFileSync}from'node:fs';import a7_0x72364d from'node:path';import{fileURLToPath}from'node:url';import a7_0xe22286 from'prettier';import{PROJECT_DOMAIN_ROUTING_FILE_NAME}from'../config/project-domain-routing.js';function a7_0x28a1(_0x49b482,_0x5593b0){_0x49b482=_0x49b482-0x178;const _0x36699a=a7_0x3669();let _0x28a18c=_0x36699a[_0x49b482];return _0x28a18c;}function relativeImport(_0x1c3fd3,_0x3893df){const _0x11629d=a7_0x28a1;let _0x58685a=a7_0x72364d['relative'](_0x1c3fd3,_0x3893df)[_0x11629d(0x18d)](/\\/g,'/');if(!_0x58685a[_0x11629d(0x17f)]('.'))_0x58685a='./'+_0x58685a;return _0x58685a;}export async function renderModelRegistryScaffold(_0x510980,_0x52540a=process[a7_0x1bd580(0x179)]()){const _0x12ceac=a7_0x1bd580,_0x3b3fd=fileURLToPath(import.meta.url),_0x4e2c28=a7_0x72364d[_0x12ceac(0x188)](a7_0x72364d[_0x12ceac(0x18c)](_0x3b3fd),'../../templates/generate-api'),_0x5bd424=relativeImport(a7_0x72364d[_0x12ceac(0x188)](_0x510980),a7_0x72364d['resolve'](_0x52540a,PROJECT_DOMAIN_ROUTING_FILE_NAME)),_0x2ca062=readFileSync(a7_0x72364d[_0x12ceac(0x180)](_0x4e2c28,_0x12ceac(0x18a)),_0x12ceac(0x17d))[_0x12ceac(0x18d)](_0x12ceac(0x182),_0x5bd424),[_0x260baf,_0x283674,_0x41ca6d]=await Promise[_0x12ceac(0x190)]([a7_0xe22286[_0x12ceac(0x184)](_0x2ca062,{'parser':_0x12ceac(0x17b)}),a7_0xe22286[_0x12ceac(0x184)](readFileSync(a7_0x72364d[_0x12ceac(0x180)](_0x4e2c28,_0x12ceac(0x187)),_0x12ceac(0x17d)),{'parser':_0x12ceac(0x17b)}),a7_0xe22286[_0x12ceac(0x184)](readFileSync(a7_0x72364d[_0x12ceac(0x180)](_0x4e2c28,_0x12ceac(0x18f)),'utf8'),{'parser':_0x12ceac(0x17b)})]);return{'api':_0x260baf,'client':_0x283674,'modelRuntime':_0x41ca6d};}
|
|
@@ -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(_0x16173c,_0xe1dbb5){const _0x4883b8=a8_0x2cac,_0x5a215e=_0x16173c();while(!![]){try{const _0xf46843=parseInt(_0x4883b8(0x83))/0x1+parseInt(_0x4883b8(0x8f))/0x2*(-parseInt(_0x4883b8(0x76))/0x3)+parseInt(_0x4883b8(0x81))/0x4+-parseInt(_0x4883b8(0x86))/0x5*(-parseInt(_0x4883b8(0x90))/0x6)+parseInt(_0x4883b8(0x80))/0x7+-parseInt(_0x4883b8(0x82))/0x8+-parseInt(_0x4883b8(0x92))/0x9;if(_0xf46843===_0xe1dbb5)break;else _0x5a215e['push'](_0x5a215e['shift']());}catch(_0x143b13){_0x5a215e['push'](_0x5a215e['shift']());}}}(a8_0x1020,0xda361));import{existsSync}from'node:fs';import a8_0x5b800d from'node:path';function a8_0x1020(){const _0x182749=['map','find','appCode','resolve','string','\x22\x20is\x20missing\x20from\x20','Model\x20profile\x20\x22','3165904gvsHkY','3151800MjfNpd','6627472JROJbr','206861zCtuCX','defaultProfile','apps','2845190trVwuF','Select\x20the\x20target\x20explicitly\x20with\x20--app\x20<profile>.','apiDir','object','-api.ts','\x20api\x20pull\x20--app\x20','defaultApp','\x22\x20belongs\x20to\x20multiple\x20model\x20profiles:\x20','filter','61750HEzwfU','18RvSITd','entries','7330230DlgOLY','Run\x20`','`\x20first.','60cwfPnR','length','api.ts'];a8_0x1020=function(){return _0x182749;};return a8_0x1020();}import{readRawConfig}from'../context/config-loader.js';import{MODEL_REGISTRY_FILE_NAME,readModelRegistry}from'../api/model-registry-file.js';import{CliErrors}from'../errors.js';function a8_0x2cac(_0x5e3698,_0x5e4507){_0x5e3698=_0x5e3698-0x74;const _0x10201f=a8_0x1020();let _0x2cacbc=_0x10201f[_0x5e3698];return _0x2cacbc;}import{CLI_BIN_NAME}from'../constant/cli.js';export function resolveApiModelSource(_0x136d12,_0x4ba833,_0x518076){const _0x47ba16=a8_0x2cac,_0x31c52d=a8_0x5b800d['resolve'](process['cwd'](),_0x136d12),_0x221ab3=a8_0x5b800d[_0x47ba16(0x7c)](_0x31c52d,_0x47ba16(0x78)),_0xc88d5c=a8_0x5b800d[_0x47ba16(0x7c)](_0x31c52d,MODEL_REGISTRY_FILE_NAME),_0xbd293e=readModelRegistry(_0xc88d5c);if(_0xbd293e){const _0xb96b1e=_0x4ba833?Object[_0x47ba16(0x91)](_0xbd293e['profiles'])[_0x47ba16(0x8e)](([,_0x4ac82b])=>_0x4ac82b[_0x47ba16(0x7b)]===_0x4ba833):[];if(_0x518076){if(_0xbd293e['profiles'][_0x518076])return{'filePath':_0xc88d5c,'profileName':_0x518076};if(_0xb96b1e['length']>0x0)throw CliErrors['validation'](_0x47ba16(0x7f)+_0x518076+_0x47ba16(0x7e)+MODEL_REGISTRY_FILE_NAME+'.',_0x47ba16(0x74)+CLI_BIN_NAME+_0x47ba16(0x8b)+_0x518076+_0x47ba16(0x75));}else{if(_0xb96b1e[_0x47ba16(0x77)]===0x1)return{'filePath':_0xc88d5c,'profileName':_0xb96b1e[0x0][0x0]};if(_0xb96b1e[_0x47ba16(0x77)]>0x1)throw new Error('AppCode\x20\x22'+_0x4ba833+_0x47ba16(0x8d)+_0xb96b1e[_0x47ba16(0x79)](([_0x5bcc2f])=>_0x5bcc2f)['join'](',\x20')+'.\x20'+_0x47ba16(0x87));if(_0xbd293e['profiles'][_0xbd293e[_0x47ba16(0x84)]]&&!_0x4ba833)return{'filePath':_0xc88d5c,'profileName':_0xbd293e['defaultProfile']};}}if(!_0x4ba833&&!_0x518076)return{'filePath':_0x221ab3};const _0x1fe0e7=readRawConfig(),_0x23ba21=_0x1fe0e7[_0x47ba16(0x85)]&&typeof _0x1fe0e7[_0x47ba16(0x85)]===_0x47ba16(0x89)?_0x1fe0e7['apps']:{},_0x2da9f4=_0x518076&&_0x23ba21[_0x518076]?[_0x518076,_0x23ba21[_0x518076]]:Object['entries'](_0x23ba21)[_0x47ba16(0x7a)](([,_0x2a7479])=>_0x2a7479?.['appcode']===_0x4ba833);if(!_0x2da9f4)return{'filePath':_0x221ab3};const [_0x43e9bd,_0xb293bb]=_0x2da9f4,_0x92fe0a=typeof _0x1fe0e7[_0x47ba16(0x8c)]===_0x47ba16(0x7d)?_0x1fe0e7['defaultApp']:undefined;if(_0xb293bb?.[_0x47ba16(0x88)])return{'filePath':_0x221ab3};if(_0x92fe0a&&_0x43e9bd!==_0x92fe0a){const _0x5f409f=a8_0x5b800d[_0x47ba16(0x7c)](_0x31c52d,_0x43e9bd+_0x47ba16(0x8a));if(existsSync(_0x5f409f))return{'filePath':_0x5f409f};}return{'filePath':_0x221ab3};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x34b771,_0x86c528){const _0x58ce70=a9_0x5197,_0x58a7d1=_0x34b771();while(!![]){try{const _0x54bf1f=parseInt(_0x58ce70(0x1d6))/0x1*(parseInt(_0x58ce70(0x1c2))/0x2)+parseInt(_0x58ce70(0x1d2))/0x3*(-parseInt(_0x58ce70(0x1c6))/0x4)+parseInt(_0x58ce70(0x1cb))/0x5*(-parseInt(_0x58ce70(0x1d0))/0x6)+parseInt(_0x58ce70(0x1c4))/0x7+parseInt(_0x58ce70(0x1c3))/0x8*(-parseInt(_0x58ce70(0x1c5))/0x9)+-parseInt(_0x58ce70(0x1cf))/0xa+parseInt(_0x58ce70(0x1ce))/0xb;if(_0x54bf1f===_0x86c528)break;else _0x58a7d1['push'](_0x58a7d1['shift']());}catch(_0x1a7f0b){_0x58a7d1['push'](_0x58a7d1['shift']());}}}(a9_0x14e7,0x4bbb0));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';function a9_0x5197(_0x4e9b3a,_0x2882fa){_0x4e9b3a=_0x4e9b3a-0x1c2;const _0x14e7d9=a9_0x14e7();let _0x519731=_0x14e7d9[_0x4e9b3a];return _0x519731;}function a9_0x14e7(){const _0x2e091c=['√\x20Valid\x20session\x20detected,\x20no\x20login\x20required.','autoYes','11463122LvYBRG','4109600NFHWIq','126PFhOTO','No\x20valid\x20session.\x20Login\x20now?','9sKACum','stop','nonInteractive','!\x20Login\x20failed.','2rdYYnG','Browser\x20login\x20cannot\x20run\x20in\x20non-interactive\x20mode.','log','113822JOkudP','2185528WXimgy','2833852DFTAYN','18UFiKWL','13668yGhQGN','start','\x20auth\x20login\x20--yes`\x20and\x20open\x20the\x20printed\x20URL\x20in\x20your\x20browser.','Run\x20`','*\x20Login\x20successful!','67375AfXnYv'];a9_0x14e7=function(){return _0x2e091c;};return a9_0x14e7();}import{confirm}from'@inquirer/prompts';import a9_0x2a47fd from'ora';export async function runAuthServer(_0x83f78e){const _0x28dc59=a9_0x5197,_0x385021=await getIsSessionValid();if(_0x385021){console[_0x28dc59(0x1d8)](_0x28dc59(0x1cc));return;}if(_0x83f78e?.[_0x28dc59(0x1d4)]&&!_0x83f78e[_0x28dc59(0x1cd)])throw CliErrors['validation'](_0x28dc59(0x1d7),_0x28dc59(0x1c9)+CLI_BIN_NAME+_0x28dc59(0x1c8));const _0x39d2ce=_0x83f78e?.[_0x28dc59(0x1cd)]?!![]:await confirm({'message':_0x28dc59(0x1d1),'default':!![]});if(!_0x39d2ce)return;if(_0x83f78e?.[_0x28dc59(0x1d4)]){console[_0x28dc59(0x1d8)]('Starting\x20browser\x20login.\x20Share\x20the\x20printed\x20URL\x20with\x20the\x20user.');const _0x298742=await authServer({'silent':![],'openBrowser':![]});_0x298742?console[_0x28dc59(0x1d8)](_0x28dc59(0x1ca)):console[_0x28dc59(0x1d8)](_0x28dc59(0x1d5));return;}const _0x5e3a4e=a9_0x2a47fd('Logging\x20in...\x20Please\x20complete\x20login\x20in\x20your\x20browser.')[_0x28dc59(0x1c7)](),_0x54ef6=await authServer({'silent':!![],'openBrowser':!![]});_0x5e3a4e[_0x28dc59(0x1d3)](),_0x54ef6?console['log'](_0x28dc59(0x1ca)):console[_0x28dc59(0x1d8)](_0x28dc59(0x1d5));}
|
package/lib/auth/auth-server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a10_0x42a31b=a10_0x359a;(function(_0x4508c5,_0x93fde2){const _0x1a871b=a10_0x359a,_0x192991=_0x4508c5();while(!![]){try{const _0x2c2955=-parseInt(_0x1a871b(0x196))/0x1*(-parseInt(_0x1a871b(0x193))/0x2)+parseInt(_0x1a871b(0x18b))/0x3*(parseInt(_0x1a871b(0x192))/0x4)+parseInt(_0x1a871b(0x187))/0x5*(-parseInt(_0x1a871b(0x1a6))/0x6)+-parseInt(_0x1a871b(0x191))/0x7*(-parseInt(_0x1a871b(0x198))/0x8)+parseInt(_0x1a871b(0x1ab))/0x9+parseInt(_0x1a871b(0x197))/0xa*(parseInt(_0x1a871b(0x1a4))/0xb)+-parseInt(_0x1a871b(0x1b5))/0xc;if(_0x2c2955===_0x93fde2)break;else _0x192991['push'](_0x192991['shift']());}catch(_0x3b1115){_0x192991['push'](_0x192991['shift']());}}}(a10_0x1112,0xa8a5e));import{writeFileSync}from'node:fs';function a10_0x359a(_0x146d7e,_0x53b925){_0x146d7e=_0x146d7e-0x186;const _0x1112cb=a10_0x1112();let _0x359a5c=_0x1112cb[_0x146d7e];return _0x359a5c;}import a10_0x22f00e from'node:http';import a10_0x1c5301 from'node:https';function a10_0x1112(){const _0x2cd66b=['44LSkMbO','utf-8','42ZgBrta','timeoutMs','🔐\x20Starting\x20login\x20service...','text/html;\x20charset=utf-8','end','3161988PgrGcw','!\x20Login\x20URL\x20expired\x20after\x2010\x20minutes.\x20Run\x20the\x20login\x20command\x20again\x20to\x20get\x20a\x20new\x20URL.','/sign-in?redirect=','/api/auth/get-session','cookie','port','headers','xdg-open\x20\x22','catch','silent','15154020GXFFns','isAuth','⚠️\x20\x20Failed\x20to\x20open\x20browser\x20automatically','💡\x20Open\x20the\x20login\x20URL\x20above\x20in\x20your\x20browser\x20to\x20complete\x20authorization.','🔗\x20Please\x20copy\x20the\x20login\x20URL\x20into\x20your\x20browser:','Auth\x20server\x20error:','822215BYoqas','json','address','then','225LiLOMP','/cert/lovrabet-dev.json','origin','📍\x20Login\x20URL:','win32','cmd\x20/c\x20start\x20\x22\x22\x20\x22','154kytflN','45268ccvEGN','7042VtIAyg','log','writeHead','205YRUEXY','2247130KLLRJd','103256GsmBaF','darwin','local','✅\x20Browser\x20opened.\x20Please\x20complete\x20login\x20in\x20the\x20browser.','listen','close','openBrowser','createServer','certificateUrl','🌐\x20Attempting\x20to\x20open\x20browser\x20automatically...','lovrabet','error'];a10_0x1112=function(){return _0x2cd66b;};return a10_0x1112();}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(_0x3576fa){const _0x2db9de=a10_0x359a;if(!_0x3576fa)return getProjectDomainRoutingManifest()[_0x2db9de(0x19a)];const _0x51adf9=getOfficialRoutingProfile(_0x3576fa),_0x32f905=getOfficialRoutingCdn(_0x3576fa);return{'origin':_0x51adf9[_0x2db9de(0x19a)][_0x2db9de(0x18d)],'certificateUrl':_0x32f905[_0x2db9de(0x1a2)]+_0x2db9de(0x18c)};}function withPort(_0x4c6011,_0x46dd57){const _0x321a0d=a10_0x359a,_0x5ee667=new URL(_0x4c6011);return _0x5ee667[_0x321a0d(0x1b0)]=String(_0x46dd57),_0x5ee667[_0x321a0d(0x18d)];}export async function authServer(_0x3d4007){const _0x9d2130=a10_0x359a,_0x45c274=_0x3d4007?.[_0x9d2130(0x1b4)]||![],_0x6a8b2b=_0x3d4007?.[_0x9d2130(0x19e)]??!![],_0x2ec87c=_0x3d4007?.[_0x9d2130(0x1a7)]??AUTH_LOGIN_TIMEOUT_MS;if(await getIsSessionValid())return!![];const _0x22a67e=resolveAuthCallbackRouting(),_0x5bdd43=_0x22a67e['certificateUrl']?await(await fetch(_0x22a67e[_0x9d2130(0x1a0)]))[_0x9d2130(0x188)]():undefined;return new Promise(async(_0x13c622,_0x903771)=>{const _0x410e40=_0x9d2130;let _0x3f4589=0x0,_0xc5238c=![],_0x5bdf4a;const _0x118af4=async(_0x5b94f9,_0x5647fe)=>{const _0x4264bf=a10_0x359a,_0x14fa0d=getUserDomain(),_0x493d88=_0x5b94f9[_0x4264bf(0x1b1)][_0x4264bf(0x1af)]||'',_0x1a3149=await fetch(_0x14fa0d+_0x4264bf(0x1ae),{'headers':{'cookie':_0x493d88}})['then'](_0xf4ecd0=>_0xf4ecd0[_0x4264bf(0x188)]()),_0x5a8e56=_0x1a3149&&_0x1a3149['session']&&_0x1a3149['user'];if(_0x5a8e56){writeFileSync(cookieFile,_0x493d88,_0x4264bf(0x1a5));const _0x3ad754=buildLoginSuccessHtml();_0x5647fe['writeHead'](0xc8,{'Content-Type':_0x4264bf(0x1a9)}),_0x5647fe['end'](_0x3ad754),_0x41180a(!![]);}else{const _0x56debd=encodeURIComponent(withPort(_0x22a67e[_0x4264bf(0x18d)],_0x3f4589));_0x5647fe[_0x4264bf(0x195)](0x12e,{'location':_0x14fa0d+_0x4264bf(0x1ad)+_0x56debd}),_0x5647fe[_0x4264bf(0x1aa)]();return;}},_0x483ae2=_0x5bdd43?a10_0x1c5301[_0x410e40(0x19f)](_0x5bdd43,_0x118af4):a10_0x22f00e[_0x410e40(0x19f)](_0x118af4);function _0x41180a(_0x1b1f90){const _0x24566e=_0x410e40;if(_0xc5238c)return;_0xc5238c=!![],_0x5bdf4a&&clearTimeout(_0x5bdf4a),_0x483ae2[_0x24566e(0x19d)](),_0x13c622(_0x1b1f90);}_0x483ae2[_0x410e40(0x19c)](0x0,'127.0.0.1',()=>{const _0x5cdb3e=_0x410e40,_0x5e7338=_0x483ae2[_0x5cdb3e(0x189)]();_0x3f4589=typeof _0x5e7338==='object'&&_0x5e7338?_0x5e7338[_0x5cdb3e(0x1b0)]:Number(_0x5e7338);const _0x229571=withPort(_0x22a67e[_0x5cdb3e(0x18d)],_0x3f4589);_0x5bdf4a=setTimeout(()=>{const _0x26b44e=_0x5cdb3e;!_0x45c274&&console[_0x26b44e(0x194)](_0x26b44e(0x1ac)),_0x41180a(![]);},_0x2ec87c);!_0x45c274&&(console[_0x5cdb3e(0x194)](_0x5cdb3e(0x1a8)),console['log'](_0x5cdb3e(0x18e),_0x229571),_0x6a8b2b?(console[_0x5cdb3e(0x194)](_0x5cdb3e(0x1a1)),console[_0x5cdb3e(0x194)](''),console[_0x5cdb3e(0x194)]('💡\x20If\x20the\x20browser\x20does\x20not\x20open\x20automatically,\x20copy\x20the\x20login\x20URL\x20above\x20into\x20your\x20browser.')):console[_0x5cdb3e(0x194)](_0x5cdb3e(0x1b8)),console[_0x5cdb3e(0x194)](''));if(!_0x6a8b2b)return;openInBrowser(_0x229571)[_0x5cdb3e(0x18a)](_0x59b4e9=>{const _0x1f2440=_0x5cdb3e;!_0x45c274&&(_0x59b4e9?console[_0x1f2440(0x194)](_0x1f2440(0x19b)):(console[_0x1f2440(0x194)](_0x1f2440(0x1b7)),console[_0x1f2440(0x194)](_0x1f2440(0x1b9),_0x229571)),console['log'](''));})[_0x5cdb3e(0x1b3)](()=>{const _0x2196f6=_0x5cdb3e;!_0x45c274&&(console[_0x2196f6(0x194)]('⚠️\x20\x20Failed\x20to\x20open\x20browser\x20automatically'),console[_0x2196f6(0x194)]('🔗\x20Please\x20copy\x20the\x20login\x20URL\x20into\x20your\x20browser:',_0x229571),console[_0x2196f6(0x194)](''));});}),_0x483ae2['on'](_0x410e40(0x1a3),_0x4bfab7=>{const _0x307582=_0x410e40;if(_0xc5238c)return;_0xc5238c=!![],_0x5bdf4a&&clearTimeout(_0x5bdf4a),!_0x45c274&&console['error'](_0x307582(0x186),_0x4bfab7),_0x483ae2[_0x307582(0x19d)](),_0x903771(_0x4bfab7);});});}function openInBrowser(_0x428be9){return new Promise(_0x242822=>{const _0x4cf975=a10_0x359a,_0x5d781f=process['platform'];let _0x70ab2c;if(_0x5d781f===_0x4cf975(0x18f))_0x70ab2c=_0x4cf975(0x190)+_0x428be9+'\x22';else _0x5d781f===_0x4cf975(0x199)?_0x70ab2c='open\x20\x22'+_0x428be9+'\x22':_0x70ab2c=_0x4cf975(0x1b2)+_0x428be9+'\x22';exec(_0x70ab2c,_0x33cd07=>{_0x33cd07?_0x242822(![]):_0x242822(!![]);});});}if(import.meta.main){const isAuth=await authServer();console[a10_0x42a31b(0x194)](a10_0x42a31b(0x1b6),isAuth);}
|
package/lib/auth/constant.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a11_0x4b9ea8=a11_0x4669;function a11_0x4669(_0x2b0d9b,_0x13f637){_0x2b0d9b=_0x2b0d9b-0x173;const _0x33139d=a11_0x3313();let _0x4669c2=_0x33139d[_0x2b0d9b];return _0x4669c2;}(function(_0x5b418d,_0x3441e4){const _0x568d0c=a11_0x4669,_0x25a07f=_0x5b418d();while(!![]){try{const _0x225649=-parseInt(_0x568d0c(0x177))/0x1*(parseInt(_0x568d0c(0x174))/0x2)+parseInt(_0x568d0c(0x17e))/0x3+parseInt(_0x568d0c(0x175))/0x4*(parseInt(_0x568d0c(0x17b))/0x5)+-parseInt(_0x568d0c(0x17c))/0x6+parseInt(_0x568d0c(0x176))/0x7*(parseInt(_0x568d0c(0x178))/0x8)+parseInt(_0x568d0c(0x17a))/0x9+-parseInt(_0x568d0c(0x17d))/0xa;if(_0x225649===_0x3441e4)break;else _0x25a07f['push'](_0x25a07f['shift']());}catch(_0x2d7de3){_0x25a07f['push'](_0x25a07f['shift']());}}}(a11_0x3313,0x8fb18));import{mkdirSync}from'node:fs';import{homedir}from'node:os';import{join}from'node:path';export const configDir=join(homedir(),a11_0x4b9ea8(0x179));function a11_0x3313(){const _0x2c35bc=['2123538VtNkPy','cookie','1707944FlvEcF','12WUvbYl','35zopflz','1euWwgj','1449464iWoeVG','.lovrabet','4290093ugyQFP','734755JwMsIo','4597026TikuFS','3225800xOMBtw'];a11_0x3313=function(){return _0x2c35bc;};return a11_0x3313();}export const cookieFile=join(configDir,a11_0x4b9ea8(0x173));mkdirSync(configDir,{'recursive':!![]});
|
package/lib/auth/get-cookie.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x47191f,_0x1f8eea){var _0x10d231=a12_0x5076,_0x32d34a=_0x47191f();while(!![]){try{var _0x4a8101=-parseInt(_0x10d231(0x1ec))/0x1+parseInt(_0x10d231(0x1e9))/0x2+parseInt(_0x10d231(0x1e8))/0x3*(parseInt(_0x10d231(0x1e3))/0x4)+-parseInt(_0x10d231(0x1ee))/0x5+parseInt(_0x10d231(0x1ed))/0x6*(-parseInt(_0x10d231(0x1eb))/0x7)+parseInt(_0x10d231(0x1e5))/0x8*(parseInt(_0x10d231(0x1ea))/0x9)+-parseInt(_0x10d231(0x1e6))/0xa*(parseInt(_0x10d231(0x1e7))/0xb);if(_0x4a8101===_0x1f8eea)break;else _0x32d34a['push'](_0x32d34a['shift']());}catch(_0x5215f6){_0x32d34a['push'](_0x32d34a['shift']());}}}(a12_0x1cf1,0x42ff6));import{readFileSync}from'node:fs';import{cookieFile}from'../auth/constant.js';function a12_0x5076(_0x1b2ac3,_0xbff144){_0x1b2ac3=_0x1b2ac3-0x1e3;var _0x1cf121=a12_0x1cf1();var _0x5076bc=_0x1cf121[_0x1b2ac3];return _0x5076bc;}export function getCookie(){var _0x5c85e7=a12_0x5076;try{return readFileSync(cookieFile,_0x5c85e7(0x1e4));}catch{}return'';}function a12_0x1cf1(){var _0x308fd5=['873116qDXane','36akZAcU','14mcmhJF','484332NTGdFf','501648vzDjzJ','1172230gFhPUt','15640YPhbfz','utf-8','1057328QceIVm','902360WQgiNV','11UsDiUL','219irRewC'];a12_0x1cf1=function(){return _0x308fd5;};return a12_0x1cf1();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a13_0x9f41(){const _0x1bb5a3=['27350yoNIlI','65lDjlal','11148TlPXlj','/api/auth/get-session','user','session','4124600IdJFyH','utf-8','1254TvAKtZ','15427200PsHISi','13306086lsbuYN','20nbkZyd','4217433vllmeh','7swlfDk','1011lHdZzf','18770LijtQp'];a13_0x9f41=function(){return _0x1bb5a3;};return a13_0x9f41();}(function(_0x4984e0,_0x5c7973){const _0x321126=a13_0x24f8,_0x1c8f66=_0x4984e0();while(!![]){try{const _0x526402=-parseInt(_0x321126(0xe4))/0x1*(parseInt(_0x321126(0xe3))/0x2)+parseInt(_0x321126(0xe1))/0x3*(parseInt(_0x321126(0xe5))/0x4)+-parseInt(_0x321126(0xe2))/0x5*(-parseInt(_0x321126(0xeb))/0x6)+-parseInt(_0x321126(0xf0))/0x7*(parseInt(_0x321126(0xe9))/0x8)+-parseInt(_0x321126(0xed))/0x9+-parseInt(_0x321126(0xee))/0xa*(-parseInt(_0x321126(0xef))/0xb)+parseInt(_0x321126(0xec))/0xc;if(_0x526402===_0x5c7973)break;else _0x1c8f66['push'](_0x1c8f66['shift']());}catch(_0x3ea1ca){_0x1c8f66['push'](_0x1c8f66['shift']());}}}(a13_0x9f41,0xda17b));function a13_0x24f8(_0x174dbb,_0x2ed50d){_0x174dbb=_0x174dbb-0xe1;const _0x9f412b=a13_0x9f41();let _0x24f883=_0x9f412b[_0x174dbb];return _0x24f883;}import{existsSync,readFileSync}from'node:fs';import{getUserDomain}from'../constant/domain.js';import{cookieFile}from'../auth/constant.js';export async function getSessionUserInfo(){const _0x3f55de=a13_0x24f8;try{if(!existsSync(cookieFile))return null;const _0x34f73e=readFileSync(cookieFile,_0x3f55de(0xea)),_0x490d32=await fetch(getUserDomain()+_0x3f55de(0xe6),{'headers':{'cookie':_0x34f73e}});if(!_0x490d32['ok'])return null;const _0x485e9b=await _0x490d32['json']();if(!_0x485e9b[_0x3f55de(0xe8)]||!_0x485e9b[_0x3f55de(0xe7)])return null;return _0x485e9b;}catch{return null;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a14_0xd63a(){const _0x4a4cb4=['57uCCaDM','13joqdeH','json','/api/auth/get-session','3nhYXcH','7sxuyhU','user','12192TAKxiU','3801919UfDtYe','10wElhzX','session','6gBUptW','1114328cwrYVF','utf-8','294648LEFwel','137435gJgYai','10071156BAQmxn','3065571aoKYAk'];a14_0xd63a=function(){return _0x4a4cb4;};return a14_0xd63a();}(function(_0x116e52,_0x3ac2d5){const _0x116f5d=a14_0xa34d,_0x756f10=_0x116e52();while(!![]){try{const _0x166c21=parseInt(_0x116f5d(0x1b8))/0x1*(-parseInt(_0x116f5d(0x1ad))/0x2)+parseInt(_0x116f5d(0x1aa))/0x3*(-parseInt(_0x116f5d(0x1b2))/0x4)+parseInt(_0x116f5d(0x1b5))/0x5*(parseInt(_0x116f5d(0x1b1))/0x6)+parseInt(_0x116f5d(0x1ab))/0x7*(-parseInt(_0x116f5d(0x1b4))/0x8)+-parseInt(_0x116f5d(0x1b7))/0x9*(parseInt(_0x116f5d(0x1af))/0xa)+parseInt(_0x116f5d(0x1ae))/0xb+-parseInt(_0x116f5d(0x1b6))/0xc*(-parseInt(_0x116f5d(0x1b9))/0xd);if(_0x166c21===_0x3ac2d5)break;else _0x756f10['push'](_0x756f10['shift']());}catch(_0x2c8e54){_0x756f10['push'](_0x756f10['shift']());}}}(a14_0xd63a,0x32feb));function a14_0xa34d(_0x53b86b,_0x33ebe2){_0x53b86b=_0x53b86b-0x1a8;const _0xd63aaa=a14_0xd63a();let _0xa34d71=_0xd63aaa[_0x53b86b];return _0xa34d71;}import{existsSync,readFileSync}from'node:fs';import{getUserDomain}from'../constant/domain.js';import{cookieFile}from'../auth/constant.js';export async function getIsSessionValid(){const _0x184bcc=a14_0xa34d;try{if(!existsSync(cookieFile))return![];const _0x7ffe33=readFileSync(cookieFile,_0x184bcc(0x1b3)),_0x3af185=await fetch(getUserDomain()+_0x184bcc(0x1a9),{'headers':{'cookie':_0x7ffe33}})['then'](_0x4b66f2=>_0x4b66f2[_0x184bcc(0x1a8)]());return _0x3af185&&_0x3af185[_0x184bcc(0x1b0)]&&_0x3af185[_0x184bcc(0x1ac)];}catch{}return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4159f0,_0x264a8d){const _0x26bc38=a15_0x52e0,_0x25f20f=_0x4159f0();while(!![]){try{const _0x2f2e7c=-parseInt(_0x26bc38(0x12a))/0x1+-parseInt(_0x26bc38(0x12e))/0x2+parseInt(_0x26bc38(0x12c))/0x3+-parseInt(_0x26bc38(0x126))/0x4*(parseInt(_0x26bc38(0x12d))/0x5)+-parseInt(_0x26bc38(0x127))/0x6+parseInt(_0x26bc38(0x128))/0x7+parseInt(_0x26bc38(0x129))/0x8;if(_0x2f2e7c===_0x264a8d)break;else _0x25f20f['push'](_0x25f20f['shift']());}catch(_0x161f52){_0x25f20f['push'](_0x25f20f['shift']());}}}(a15_0x10dd,0x712f3));function a15_0x52e0(_0x4054d9,_0x3a0639){_0x4054d9=_0x4054d9-0x126;const _0x10ddf2=a15_0x10dd();let _0x52e044=_0x10ddf2[_0x4054d9];return _0x52e044;}function a15_0x10dd(){const _0x583581=['4147668zKsitF','973518cEJQHJ','14340704zdSdtD','117327CbxPnm','Unable\x20to\x20close\x20automatically.\x20Please\x20close\x20this\x20tab\x20or\x20window\x20manually.','2442246SBIphp','40CmWbPL','1269888dCBKrY','<!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>','</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>','419296bbgZwQ'];a15_0x10dd=function(){return _0x583581;};return a15_0x10dd();}export function buildLoginSuccessHtml(){const _0x1f65e4=a15_0x52e0,_0x4ce269=_0x1f65e4(0x12b);return _0x1f65e4(0x12f)+_0x4ce269+_0x1f65e4(0x130);}
|
package/lib/auth/logout.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4b9342,_0x1eeffb){var _0x1ac6ef=a16_0x5f5c,_0x432571=_0x4b9342();while(!![]){try{var _0x4b9d20=parseInt(_0x1ac6ef(0xd2))/0x1*(parseInt(_0x1ac6ef(0xde))/0x2)+parseInt(_0x1ac6ef(0xd5))/0x3+parseInt(_0x1ac6ef(0xdb))/0x4+parseInt(_0x1ac6ef(0xdd))/0x5+parseInt(_0x1ac6ef(0xd7))/0x6*(-parseInt(_0x1ac6ef(0xd4))/0x7)+parseInt(_0x1ac6ef(0xd6))/0x8*(-parseInt(_0x1ac6ef(0xdc))/0x9)+-parseInt(_0x1ac6ef(0xd9))/0xa;if(_0x4b9d20===_0x1eeffb)break;else _0x432571['push'](_0x432571['shift']());}catch(_0x21ee36){_0x432571['push'](_0x432571['shift']());}}}(a16_0x4020,0x24077));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../auth/constant.js';export function logout(){var _0x280501=a16_0x5f5c;existsSync(cookieFile)?(unlinkSync(cookieFile),console['log'](_0x280501(0xd3))):console[_0x280501(0xda)](_0x280501(0xd8));}function a16_0x5f5c(_0x54e311,_0x2d6ee8){_0x54e311=_0x54e311-0xd2;var _0x402019=a16_0x4020();var _0x5f5cfc=_0x402019[_0x54e311];return _0x5f5cfc;}function a16_0x4020(){var _0x28d275=['444648RnQcAX','32ORUbuA','216qbqsBq','!\x20Not\x20logged\x20in','2803500RpeBZq','log','694652hcgyqP','524565dSmYLl','1435125MWBDSM','14658bfzzLA','29ckZINT','✓\x20Logged\x20out','31185eWxirm'];a16_0x4020=function(){return _0x28d275;};return a16_0x4020();}
|
package/lib/cli-flags.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a17_0x2e04(){const _0x243f8d=['30772emWsRz','48744pvYiDn','900197wxKKpp','897666yWmasq','175iFIihk','79965qVlVfp','boolean','3066648pcPpuF','517622uelAiL','1570iJsvAC','217DAGfKa'];a17_0x2e04=function(){return _0x243f8d;};return a17_0x2e04();}function a17_0x158e(_0x3aea92,_0x49610d){_0x3aea92=_0x3aea92-0x196;const _0x2e04fb=a17_0x2e04();let _0x158ee5=_0x2e04fb[_0x3aea92];return _0x158ee5;}const a17_0x1bfc76=a17_0x158e;(function(_0x475013,_0x5eb537){const _0x6345f7=a17_0x158e,_0x36e403=_0x475013();while(!![]){try{const _0x25963f=parseInt(_0x6345f7(0x196))/0x1+parseInt(_0x6345f7(0x19c))/0x2+parseInt(_0x6345f7(0x197))/0x3+-parseInt(_0x6345f7(0x19f))/0x4*(parseInt(_0x6345f7(0x198))/0x5)+parseInt(_0x6345f7(0x19b))/0x6+-parseInt(_0x6345f7(0x19e))/0x7*(-parseInt(_0x6345f7(0x1a0))/0x8)+parseInt(_0x6345f7(0x199))/0x9*(-parseInt(_0x6345f7(0x19d))/0xa);if(_0x25963f===_0x5eb537)break;else _0x36e403['push'](_0x36e403['shift']());}catch(_0x5ee3cd){_0x36e403['push'](_0x36e403['shift']());}}}(a17_0x2e04,0x789c5));export const dynamicCliFlags={'enableBffSave':{'type':a17_0x1bfc76(0x19a)}};
|